Ищутся ли термины с помощью PhraseQuery в Lucene, строго ли они соответствуют их порядку в предложении?
Например, если у меня есть «A B C» и документ содержит «A C B», возвращает ли PhraseQuery попадание?
спасибо
Нет, если вы используете slop в вашем PhraseQuery.
Устанавливает количество других слов, разрешенных между словами в запросе. фраза. Если ноль, то это точный поиск по фразе. Для большего значения это работает как оператор WITHIN или NEAR. Отклонение - это фактически расстояние редактирования, где единицы соответствуют перемещения терминов в фразе запроса вне позиции. Например, чтобы Переключение порядка двух слов требует двух ходов (первый ход помещает слова друг на друга), чтобы можно было фразы, помои должны быть не менее двух. Более точные совпадения оцениваются выше, чем небрежные совпадения, поэтому результаты поиска отсортированы по точности. Отклонение по умолчанию равно нулю, что требует точных совпадений.
Устанавливает количество других слов, разрешенных между словами в запросе. фраза. Если ноль, то это точный поиск по фразе. Для большего значения это работает как оператор WITHIN или NEAR.
Отклонение - это фактически расстояние редактирования, где единицы соответствуют перемещения терминов в фразе запроса вне позиции. Например, чтобы Переключение порядка двух слов требует двух ходов (первый ход помещает слова друг на друга), чтобы можно было фразы, помои должны быть не менее двух.
Более точные совпадения оцениваются выше, чем небрежные совпадения, поэтому результаты поиска отсортированы по точности.
Отклонение по умолчанию равно нулю, что требует точных совпадений.
Да, порядок имеет значение.Так что в вашем примере запрос «ABC» НЕ будет соответствовать документу, содержащему «ACB».