Использование Field.index из индекса Apache Lucene
Я пытаюсь реализовать простой индекс Lucene, используя Lucene 7.1. Существует множество изменений в коде между версиями, поэтому я встречаю много изменений от ответа к ответу.
В этом уроке я следую за https://www.avajava.com/tutorials/lessons/how-do-i-use-lucene-to-index-and-search-text-files.html
Есть строка document.add(новое поле (FIELD_PATH, путь, Field.Store.YES, Field.Index.UN_TOKENIZED)); Однако Field.Index выдает ошибки. Я могу преобразовать его в TextField, но я не уверен, если это то же самое. Может кто-нибудь сказать мне, что делает Field.Index и как можно изменить код, чтобы он работал?
1 ответ
Это руководство использует 2.3, оно настолько старое, что люди из apache даже не хранят эту версию lucene в архивах. Это не будет беспокоить ресурс, который старый, больше головной боли, чем стоит. Похоже, они в основном проходят через демо lucene, которое поставляется с каждой выпущенной версией lucene. Попробуйте вместо этого просмотреть текущую демоверсию Lucene.
Что касается того, чем заменить это точное поле, оно индексируется, сохраняется и не токенизируется, поэтому вы захотите использовать StringField. TextField будет для поля, которое маркируется.