2013-07-08 15 views
10

Ich bin ein Neuling Lucene und ich versuche, einen Lucene 4.3 Index zu öffnen mit Luke (die ich mit meiner einfachen Lucene 4.3.1 App erschaffe), aber es hält mich geben:Wie öffne ich einen Lucene 4.3 Index?

Invalid directory at the location, check console for more information. Last exception: java.lang.IllegalArgumentException: A SPI class of type org.apache.lucene.codecs.Codec with name 'Lucene42' does not exist. You need to add the corresponding JAR file supporting this SPI to your classpath.The current classpath supports the following names: [Lucene40, Lucene3x, SimpleText, Appending]

Fein. Also habe ich die im Code verwendete Lucene-Version auf Version.LUCENE_43 gesetzt. Ich habe auch frühere 3.x-Versionen ausprobiert. Was mache ich hier falsch? Gibt es einen anderen Lucene-Index-Browser, den man verwenden kann?

Ich benutze Luke java -jar lukeall-4.0.0-ALPHA.jar und ich sage es, um den Index zu öffnen, die meine App produziert.

UPDATE:

  • ich versucht habe, meine Classpath-Einstellung lucene-Kern enthalten: 4.3.1: jar. Das hat nicht geholfen.

  • Luke wirft diesen Fehler:

    java.lang.IllegalArgumentException: Eine SPI-Klasse vom Typ org.apache.lucene.codecs.Codec mit dem Namen 'Lucene42' existiert nicht. Sie müssen dem Klassenpfad die entsprechende JAR-Datei hinzufügen, die diesen SPI unterstützt. Der aktuelle Klassenpfad unterstützt die folgenden Namen: [Lucene40, Lucene3x, SimpleText, Appending] java.lang.IllegalArgumentException: Eine SPI-Klasse vom Typ org.apache.lucene. codecs.Codec mit dem Namen 'Lucene42' existiert nicht. Sie müssen die entsprechenden JAR-Datei unterstützt diese SPI auf Ihren classpath.The aktuellen Classpath unterstützt die folgenden Namen hinzuzufügen: [Lucene40, Lucene3x, Simpletext, Anfügen]

Vielen Dank!

+0

prüfen jar Versionen, wenn die kompatibel sind. –

+0

Verwenden Sie die neueste Version von Luke? Haben Sie versucht, jar mit ['Lucene42Codec'] (https://lucene.apache.org/core/4_2_0/core/org/apache/lucene/codecs/lucene42/Lucene42Codec.html) zum Klassenpfad hinzuzufügen? Es sieht so aus, als ob deine Luke-Version nichts über das neuere Format, das du für den Index benutzt hast, weiß. – ffriend

+0

Bitte überprüfen Sie meine Kommentare für ein Update. – carlspring

Antwort

8

Es gibt eine Person, die sich Zeit genommen hat, Luke für Lucene-4.3.1 zu reparieren. Opengrok, wo Sie auf der Website verfügbare Versionen von Luke vorbei an dem 4.0.0-alpha finden:

https://github.com/tarzanek/luke

+0

Großartig! Ich habe es selbst versucht, aber ich kenne noch nicht so viel Lucene, also habe ich mich auf eine frühere Version von Lucene, die von Luke unterstützt wurde, zurückgezogen. – carlspring

+6

und seit Lucene 4.4 ist out: https://github.com/betepahos/lukegit – teodimoff

+2

Nur git Klonen Sie es und führen Sie dann die Jar lukeall Datei im Verzeichnis dist – TheSteve0

11

Nach langer Suche wurde ich für die neueste Luke veröffentlicht hier zu sehen angewiesen. Lukas 4.4 sollte das aktuelle Indexformat mit einigen Vorbehalten lesen können.

Verwandte Themen