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

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

Дата в формате ммддггггччммсс.

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

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

-CreateDateTime: [20140715000000000 ДО 20150331235959000]

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

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


person Pravin Thokal    schedule 31.03.2015    source источник


Ответы (1)


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

person sisve    schedule 04.04.2015