Je suis un débutant de Lucene et j'essaie d'ouvrir un indice de Lucene 4.3 (que je crée avec ma simple application Lucene 4.3.1) en utilisant Luke, mais ça continue à me donner: P>
Répertoire non valide à l'emplacement, vérifiez la console pour plus d'informations. Dernière exception: java.lang.illegalargumentException: une classe SPI de type org.apache.lucène.codecs.codec avec nom 'Lucene42' ne fait pas exister. Vous devez ajouter le fichier JAR correspondant en supportant ce SPI Pour votre parcours de classe.La classe de classe actuelle prend en charge les noms suivants: [Lucene40, Lucene3x, SimpleText, Ajout] P> blockQuote>
Bien. Donc, j'ai défini la version Lucene utilisée dans le code sur
VERSION.LUCENE_43 CODE>. J'ai aussi essayé des versions 3.x plus tôt. Qu'est-ce que je fais mal ici? Y a-t-il un autre navigateur d'indice Lucene One peut utiliser? P>Je suis exécuté Luke en utilisant
Java -Jar Lukeall-4.0.0-Alpha.jar Code> et je lui dis d'ouvrir l'index que ma application produit. P>
mise à jour: strong> p>
J'ai essayé de définir mon point de classe pour inclure Lucene-Core: 4.3.1: JAR. Cela n'a pas aidé. P> li>
Luke jette cette erreur: p>
java.lang.illegalargumentException: une classe SPI de type org.apache.lucène.codecs.codec avec nom 'Lucene42' n'existe pas. Vous devez ajouter le fichier de jar correspondant prenant en charge cette SPI à votre classe de classe.Le CLASSPATH en cours prend en charge les noms suivants: [Lucene40, Lucene3x, SimpleText, Ajout] java.lang.illegalargumentException: une classe SPI de type org.apache.lucène.codecs.codec avec nom 'Lucene42' n'existe pas. Vous devez ajouter le fichier JAR correspondant prenant en charge cette SPI à votre catégorie de classe.Le CLASSPATH en cours prend en charge les noms suivants: [Lucene40, Lucene3x, SimpleText, Ajout] P> Li> ul>
Merci beaucoup! P>
3 Réponses :
Il y a une personne qui a pris son temps pour réparer Luke pour Lucene-4.3.1. P>
Génial! J'ai essayé de le faire moi-même, mais je ne sais pas encore beaucoup de Lucene, alors j'avais eu recours à une version antérieure de Lucene qui a été soutenue par Luke.
Juste git clone il puis exécutez le fichier jar lukeall dans le répertoire dist
Après la recherche de longue date, on m'a demandé de rechercher les dernières versions Luc: OpenGrok , où vous pouvez trouver des versions de Luke passé le 4.0.0-Alpha disponible sur le site. Luc 4.4 devrait être capable de lire le format d'index actuel avec des mises en garde. p>
Il existe un nouveau référentiel sur Github, où on peut télécharger des versions: P>
Vérifiez que les versions JAR, si elles sont compatibles.
Utilisez-vous la dernière version de Luke? Avez-vous essayé d'ajouter un jar avec < Code> LUCENE42CODEC CODE> à CLASSPATH? Il semble que votre version Luke ne connaisse pas le format récent que vous avez utilisé pour l'index.
S'il vous plaît, vérifiez mes commentaires pour une mise à jour.
Apparemment, cela semble être un bug de Luke. Voir ici pour plus de détails: code.google.com/p/luke/ Problèmes / détails? ID = 72 .