Можно ли указать, подходит ли порядок слов для поиска близости Lucene?Порядок слов в поиске близости Lucene
«слово1 слово2» ~ 3 => порядок слов имеет значение (заказовМои = истина)
есть эквивалентный способ записи запроса, для которой порядок не имеет значения? Что-то вроде:
«word1 WORD2» ~ 3x => порядок слов не имеет значения (заказовМои = ложь)
Я знаю, что для SpanNearQuery свойство заказовМои определяет, если вопросы порядка или нет но не как я могу сказать QueryParser, если InOrder должен быть истинным или ложным для определенного SpanNearQuery.
Должен ли я написать свой собственный QueryParser для этого, который поддерживает настраиваемый синтаксис для обработки таких запросов?
Спасибо за ваш ответ! Я использую автопортретную .net-версию ComplexPhraseQueryParser, в которой InOrder всегда прав. Вот почему я предположил, что это будет поведение QueryParser по умолчанию. К сожалению, похоже, что Lucene.Net, а также Lucene.Net.Contrib не содержат пакет окружения. Так что, я думаю, мне придется либо дождаться выхода новой версии Lucene.Net, либо написать что-то вроде Surround QueryParser. – dennis
Я только что протестировал свойство InOrder, и результаты показывают, что для InOrder = false порядок терминов действительно не имеет значения: «term1 term2» slop = 0 InOrder = true results in 9 hits, «term2 term1» slop = 0 InOrder = true results in 5 hits, «term1 term2» slop = 0 InOrder = false results in 14 хиты, "term2 term1" slop = 0 InOrder = false results in 14 hits, Или я что-то упускаю? – dennis