Toon posts:

[Java/Lucene] Error bij uitlezen van zoekresultaten

Pagina: 1
Acties:

Verwijderd

Topicstarter
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):
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)
}

Verwijderd

Topicstarter
niemand?

  • Standeman
  • Registratie: November 2000
  • Laatst online: 10:56

Standeman

Prutser 1e klasse

Heb je ook een stacktrace hiervan? Bij welke method call gaat het mis? Regel 10? Welke Lucene versie?

Misschien is 1 van je index bestanden corrupt, heb je al geprobeerd om opnieuw te indexeren?

[ Voor 43% gewijzigd door Standeman op 21-03-2007 09:45 ]

The ships hung in the sky in much the same way that bricks don’t.