Ik heb een lucene implementatie, die (dacht ik) goed werkte. Maar nu blijkt dat na een dag/paar dagen er geen zoekresultaten meer uitkomen. Als ik dan de indexering opnieuw start doet de zoekmachine het gewoon weer.
In mijn logs krijg ik bij het uitlezen de volgende error:
doc counts differ for segment _qsl: fieldsReader shows 10 but segmentInfo shows 100
Alleen heb ik geen idee wat de aard van deze error exact is en hoe ik het op kan lossen.. Ook google vertelt niet veel over deze error. Op de site van Lucene zelf staat ook niks over verschillende doc lengtes (of iets in die richting).
Weet iemand wat precies deze error veroorzaakt en hoe ik het op kan lossen??
Mijn code (een beetje gestript):
In mijn logs krijg ik bij het uitlezen de volgende error:
doc counts differ for segment _qsl: fieldsReader shows 10 but segmentInfo shows 100
Alleen heb ik geen idee wat de aard van deze error exact is en hoe ik het op kan lossen.. Ook google vertelt niet veel over deze error. Op de site van Lucene zelf staat ook niks over verschillende doc lengtes (of iets in die richting).
Weet iemand wat precies deze error veroorzaakt en hoe ik het op kan lossen??
Mijn code (een beetje gestript):
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| Analyzer analyzer = new StandardAnalyzer(); Hits hits = null; IndexReader ireader = IndexReader.open(indexDirectory); IndexSearcher isearcher = new IndexSearcher(ireader); QueryParser parser = new QueryParser("CONTENT", analyzer); parser.setDefaultOperator(QueryParser.AND_OPERATOR); Query query = parser.parse(searchString); hits = isearcher.search(query); for(int i=0; i<hits.length(); i++) { Document hitDoc = hits.doc(i); float score = hits.score(i); String title = hitDoc.getField("TITLE") != null ? hitDoc.getField("TITLE").stringValue() : ""; String content = hitDoc.getField("CONTENT") != null ? hitDoc.getField("CONTENT").stringValue() : ""; out.print("[" + score + "] " + title + "<br>" + content) } |