Je travaille sur un code existant qui construit un index de termes populaires dans un autre index. Il n'y a pas de tests unitaires en place, et le processus d'indexation est une douleur à attendre car le premier index prend tellement de temps à construire. Je souhaite structurer différemment le deuxième index (terme courant). Existe-t-il une meilleure pratique pour tester si un index Lucene est créé correctement?Test unitaire des indices Lucene
EDIT >> Par @ conseils de Pascal J'utilise un RAMDirectory, puis de tester l'indice que je viens d'écrire, je mis en place un IndexReader et itérer les résultats à long terme, l'impression sur chaque terme pour vous assurer que les regards de données bien.
code:
IndexReader reader = IndexReader.open(dir2);
TermEnum terms = reader.terms();
System.out.println("Here come the terms!");
while (terms.next()){
if (terms.term().field().equals("FULLTEXT")){
System.out.println(terms.term());
}
}
int numDocs = reader.maxDoc();
System.out.println("Number of Docs: " + numDocs);
Si l'indice est vraiment important que je laisse courir un peu puis juste arrêter à mi-parcours.
Aussi, Luke est un excellent outil pour inspecter l'index si vous voulez être plus complet ... Je cherche juste quelque chose rapidement.
Toutes les autres idées sont les bienvenues!
Bonne idée, de cette façon, elle ne persiste pas non? – stinkycheeseman
Oui, il ne persistera pas sur le disque, mais il restera en mémoire pendant la durée du test. –
Cela fonctionne très bien, merci Pascal! – stinkycheeseman