У меня есть схема документа 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, отправлю обратно с любыми решениями.