Grails Плагин для поиска: Как сделать свойство только для сортировки, но не для поиска
Я использую плагин для поиска в моем проекте. И у меня есть простой домен, который приведен ниже
Class User {
String title
String Description
int vote
Date date
}
static searchable = {
only: ['description','title','vote','date']
date name: 'sortableTitle1', index: 'not_analyzed'
vote name: 'sortableTitle2', index: 'not_analyzed'
}
Мне нужно сделать голосование и дату как сортируемый элемент. и это не должно учитываться при поиске
Также я знаю, что это можно сделать с помощью приведенного ниже кода
date name: 'sortableTitle1', index: 'not_analyzed' store:'no'
Но в этом случае список результатов объекта не будет содержать свойства даты, поэтому он не может быть отображен в gsp для отображения.
Итак, как я могу сделать элемент "дата" для отображения, сортировки, а не для поиска в моем GSP.
1 ответ
Я не могу добавить новый комментарий, поэтому вот следующая часть моего ответа:
как вы устанавливаете отображение для класса:
Вы можете объявить порядок сортировки по умолчанию для коллекции в отображении ( документация).
Я надеюсь, что это то, что вам нужно!
Пример найден в документации:
Чтобы "заменить", например, это:
def airports = Airport.list(sort:'name')
Ты можешь использовать
class Airport {
…
static mapping = {
sort name: "desc"
}
}
И первая часть моего ответа:
Возможно, это не лучшая вещь, но это то, что я сделал для той же проблемы: я установил отображение для своего класса, и Searchable помог мне получить идентификаторы. С идентификаторами я использую метод getAll для получения всех объектов (автоматически сортируется с отображением).