Логическое НЕ не работает с запросом диапазона дат в Lucene.net v3.0.3.0

Я использую Lucene.net v3.0.3.0 для индексации и поиска, у меня есть поле "CreateDateTime", в котором хранится дата создания документа. Я хотел бы создать запрос диапазона DateTime с логическим условием "НЕ". Означает, что я хотел бы получить все те документы, чьи CreateDate не должны находиться в диапазоне, который я дал, я могу создать запрос, но запрос не возвращает никаких результатов.

Дата имеет формат mmddyyyyhhmmss.

мой диапазон дат - 15.07.2014, 12:00:00, 31.03.2015, 23:59:59

Мой последний запрос выглядит следующим образом:

-CreateDateTime:[20140715000000000 - 20150331235959000]

Я пробовал тот же запрос с помощью инструмента Люка, и он также не возвращает никакого результата. Индексирование было создано нормально, и я могу запустить все типы запросов, кроме запроса DateRange с условием NOT Boolean. НЕ отлично работает на других полях.

Какие-либо предложения?

1 ответ

Это ваш единственный запрос в поисковом запросе? Вы не можете просто предоставить отрицательный запрос, вам также нужно несколько соответствующих запросов. Добавьте MatchAllDocsQuery к вашему BooleanQuery, результат должен закончиться как *:* -CreateDateTime:[...]

Другие вопросы по тегам