2017-10-21 142 views
0

Je tente d'implémenter un index lucene simple, en utilisant Lucene 7.1. Il y a beaucoup de changements au code entre les versions, donc je rencontre beaucoup de changements de réponse à réponse.Utilisation de Field.index à partir de l'index apache lucene

Dans ce tutoriel, je suivais https://www.avajava.com/tutorials/lessons/how-do-i-use-lucene-to-index-and-search-text-files.html

Il y a une ligne document.add (nouveau champ (FIELD_PATH, chemin, Field.Store.YES, Field.Index.UN_TOKENIZED)); Toutefois, Field.Index génère des erreurs. Je peux le convertir en TextField mais je ne suis pas sûr que ce soit la même chose. Quelqu'un peut-il me dire ce que Field.Index fait et comment on pourrait modifier le code afin qu'il fonctionne?

Répondre

1

Ce tutoriel utilise 2.3, il est tellement vieux que les gens d'apache ne gardent même pas cette version de lucene dans les archives. Il ne serait pas déranger avec une ressource qui a plus de maux de tête que ça en vaut la peine. On dirait qu'ils passent la plupart du temps par la démo de lucene qui accompagne chaque version de Lucene. Essayez de passer par le current Lucene demo, à la place.

En ce qui concerne le remplacement exact de ce champ, il est indexé, stocké et non segmenté. Vous devez donc utiliser un StringField. Un TextField serait pour un champ est tokenized.

+0

Sur le point. Merci pour ça. – Steve