Solr / Lucene игнорирует поиск близости, когда сгруппирован с вложенным запросом - PullRequest
0 голосов
/ 07 февраля 2019

Я сталкиваюсь с некоторым запутанным поведением с запросами solr (технически разбор Lucene), который можно упростить до запроса, подобного следующему:

_query_:"foo:\"a b\"~3" AND foo:"c d"~6

Использование debugQuery опция, которую я вижу, это анализируется как:

+PhraseQuery(foo:\"a b\"~3) +PhraseQuery(foo:\"c d\")

или как parsedquery_toString, +foo:\"a b\"~3 +foo:\"c d\"

Что произошло вблизи ~ 6 справасторона запроса?Это может произойти только при объединении вложенного запроса с не вложенным запросом, как в примере выше.

Для сравнения: без использования вложенного запроса и записи

foo:"a b"~3 AND foo:"c d"~6

Правильно обрабатывается как

+PhraseQuery(foo:\"a b\"~3) +PhraseQuery(foo:\"c d\"~6)

или как parsedquery_toString, +foo:\"a b\"~3 +foo:\"c d\"~6

Или, альтернативно, используя два вложенных запроса, как в:

_query_:"foo:\"a b\"~3" AND _query_:"foo:\"c d\"~6"

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

Почему поиск близости ~ 6 в первом примере отбрасывается?

Я использую Solr версии 4.10.3, но обновился до 7.5.0, и я нахожутакое же поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...