Solr / Lucene - Почему этот запрос OR не выполняется, когда два отдельных запроса завершаются успешно? - PullRequest
1 голос
/ 02 декабря 2011

У меня есть схема документа Solr с solr.TrieDateField, и я заметил этот логический запрос (не созданный мной), который, как я думал, мог бы выиграть от некоторого упрощения;

q=-(-event_date:[2011-12-02T00:00:00.000Z TO NOW/DAY+90DAYS] OR (event_date:[* TO *]))

, что означает событияв течение следующих 90 дней или не событий (см. Чистый отрицательный для логической записи Solr NOT).Мое упрощение выглядело как

q=event_date:[2011-12-02T00:00:00.000Z TO NOW/DAY+90DAYS] OR -event_date:[* TO *]

Как уже говорилось, это не сработало (0 результатов).Таким образом, в качестве теста я выполнил обе стороны моего модифицированного запроса OR по отдельности, и сумма двух результатов (оба отличных от нуля) равнялась сумме исходного запроса, и я не могу найти хорошее объяснение, почему.Работа с debugQuery=true не принесла ничего полезного.Я поставил это на solr-user, отправлю обратно с любыми решениями.

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