Логическое НЕ не работает с запросом диапазона дат в 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:[...]