Grails: Lucene, Compass Query Builder и диапазоны дат - PullRequest
1 голос
/ 27 апреля 2011

У меня есть плагин для поиска, работающий с моим проектом Grails. У меня есть это индексирование 4 разных таблиц на работе. К сожалению, каждая таблица имеет поле даты, которое называется по-разному. Некоторые из них названы созданными, некоторые - опубликованными, и т. Д ...

В рамках моего поиска мне нужно получить из этих полей элементы, которые находятся в пределах определенного диапазона дат. Есть ли способ сделать это? Я видел один конкретный экземпляр в документации к плагину, но он не учитывает разные имена полей, с которыми мне приходится иметь дело.

1 Ответ

3 голосов
/ 05 мая 2011

вы можете настроить классы вашего домена для переопределения или предоставления дополнительных записей индекса Lucene для свойства под разными именами.

Итак, предположим, что у вас есть класс со свойством publOn, но вы хотите, чтобы это свойство было доступным для поиска, как в ключах publOn, так и в сотворении Вы бы сделали что-то вроде следующего:

class ADomainClass {
    Date publishedOn

    static searchable = {
       'publishedOn' format:'yyyyMMdd'
       'publishedOn' name: 'createdAt', format 'yyyyMMdd'
    }
}

Если вы хотите, чтобы он был доступен для поиска только как «createAt», просто пропустите первую запись «для поиска».

...