Как связать значение ИЛИ с нулевым значением в запросе Apache Solr?

Последним вариантом решения этой проблемы для меня было запрос StackOverflow.

Я пытаюсь создать запрос Solr для получения документов, которые имеют определенное значение в одном из его полей ИЛИ не имеет значения ...

Теоретически этот запрос должен был сработать.

Вот некоторая информация:

Запрос: (name: john) -> Количество результатов: 15383 // Johns

Запрос: (name: {* TO *}) - > Количество результатов: 61013 // Люди, у которых есть имя

Запрос: - (name: {* TO *}) -> Количество результатов: 216888 // Люди, у которых нет имени

Теперь , когда я использую первый и третий запросы в одном запросе с оператором ИЛИ, я ожидаю получить (216888 + 15383) результатов. Но SOLR дает 15383 результатов, просто игнорируя эффект третьего запроса:

Запрос: + ((name: john) (- (name: {* TO *}))) // Это тот запрос, который я был использовал.

Это ошибка Solr или я ошибаюсь в запросе? Слияние двух результатов запроса - это дополнительное решение, но я не хочу выполнять дополнительную реализацию кода, если бы мог сделать это с помощью простого запроса.

Любая помощь будет принята с благодарностью.

12
задан Machavity 1 May 2019 в 23:00
поделиться