Как работает фраза lucene без индекса положения и смещения? - PullRequest
3 голосов
/ 12 марта 2012

Lucene позволяет индексировать термины с позицией и смещением, но даже без нее можно использовать поиск по фразе. Так как же lucene может вычислить порядок слов в индексе без этой информации?

1 Ответ

1 голос
/ 12 марта 2012

Возможно, вы путаете положения / смещения векторов терминов с инвертированным индексом.

Терминвекторы не используются для поиска.

Чтобы исключить информацию о близости в фактических списках проводок: используйте IndexOptions.DOCS_ONLY или IndexOptions.DOCS_AND_FREQS. Если вы сделаете это, PhraseQueries не будет работать.

Но если вы готовы принять некоторые неточности, эти настройки могут быть полезны в сочетании со словом ngram (shinglefilters), для быстрой фразы "приближение" ... и, конечно, они полезны для полей, где близость только неприменимо: например, числовые поля, поля уникальных идентификаторов и т. д.

...