Последним вариантом решения этой проблемы для меня было запрос StackOverflow.
Я пытаюсь создать запрос Solr для получения документов, которые имеют определенное значение в одном из его полей ИЛИ не имеет значения ...
Теоретически этот запрос должен был сработать.
Вот некоторая информация:
Запрос: (name: john) -> Количество результатов: 15383 // Johns
Запрос: (name: {* TO *}) - > Количество результатов: 61013 // Люди, у которых есть имя
Запрос: - (name: {* TO *}) -> Количество результатов: 216888 // Люди, у которых нет имени
Теперь , когда я использую первый и третий запросы в одном запросе с оператором ИЛИ, я ожидаю получить (216888 + 15383) результатов. Но SOLR дает 15383 результатов, просто игнорируя эффект третьего запроса:
Запрос: + ((name: john) (- (name: {* TO *}))) // Это тот запрос, который я был использовал.
Это ошибка Solr или я ошибаюсь в запросе? Слияние двух результатов запроса - это дополнительное решение, но я не хочу выполнять дополнительную реализацию кода, если бы мог сделать это с помощью простого запроса.
Любая помощь будет принята с благодарностью.