Lucene index - экспортировать / запросить «проиндексированные» значения текстового поля, которые не «сохранены» - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть индекс Lucene, и текст документа «проиндексирован», но не «сохранен».

Я использую Luke v7.6.0, и он отлично подходит для «визуализации» индекса.

Очевидно, что из-за того, что текст моего документа проиндексирован, но не сохранен, я не могу скопировать или запросить «сохраненное» значение (его нет), но могу ли я каким-то образом извлечь индексированные текстовые значения в буфер обмена или текстовый файл, чтобы позволить мне точно анализироватьчто индексируется из моего файла?

1 Ответ

0 голосов
/ 13 февраля 2019

Одна из доступных вам вещей - это проверка Lucene индексных файлов вручную.

Я подозреваю, что наиболее важными из них являются файлы словаря терминов (* .tim)

Я проиндексировал документ без сохраненных значений и терминов - test@test.com в электронной почте поля ( TextField с Стандартный анализатор) и John в имени поля ( StringField )

После этого я открыл файл tim с помощью шестнадцатеричного редактора и смог увидеть что-то вроде этого:

TIM file

Вы могли ясно видеть значения test, test, com, которые были токенизированы Стандартным, также вы могли видеть, что Джон все еще остается тем же, так как я использовал StringField .В других моих примерах я также смог увидеть работу с нижним регистром.

Просто напоминание, если вы хотите повторить его - по умолчанию для небольших индексов Lucene поместит все в составной файл, который яне предпочитайте для этой конкретной отладки.Вы можете отключить это с помощью setUseCompoundFile (false)

...