Пустой набор результатов из запроса Compass Lucene с датами
Я использую Compass, чтобы делать запросы к данным внутри в структуре данных памяти. Он отлично работает для поиска значений String и enum, теперь я хочу искать даты.
Критерии поиска снабжены комментариями @SearchRestriction
аннотаций. Пример о someDate:
@SearchRestriction(path="fooBar.someDate" type = SearchRestrictionType.EQUAL)
String someDate;
При поиске данных SomeDate аннотируется следующим образом:
@SearchableProperty
Date someDate;
SomeDate
внутри доступных для поиска данных генерируется с new Date();
) и строка запроса задается как 20120802
,
Ситуация в отладчике: этот код генерирует такие запросы:
someDate:20120802
Вот someDate
это название поля, которое я ищу, и 20120802
дата в порядке ггггМмдд.
Проблема: Результаты не возвращаются при выполнении этого запроса. Я получаю пустой список. Дата в запросе такая же, как в объекте Date.
Что случилось?? Это неправильный способ поиска Date
с компасом? Я могу найти только диапазон запросов о дате, но поиск с точной датой или частью точной даты я не могу найти.
1 ответ
Вам необходимо указать формат для поиска недвижимости [Дата]
@SearchableProperty(format = "yyyyMMdd")
В некоторой степени это относится к Grails: Lucene, Compass Query Builder и диапазонам дат