Учитывая следующий класс домена:Как я могу сравнить Тхо свойство, используя Grails плагиных с возможностью поиска
class Test {
String name
Integer val1, val2
}
Я в настоящее время ищу этот класс со следующими критериями:
Test.createCriteria().list(params) {
params.key.split(' ').each {
ilike('name', "%${it}%")
}
gtProperty('val1', 'val2')
}
Я пытаюсь используйте Grails Searchable Plugin, чтобы улучшить результаты поиска. Более конкретно, его Query Builder. Единственная проблема заключается в том, что я не могу найти способ фильтрации результатов, где val1 > val2
. Как показано ниже:
Test.search(params) {
must(queryString(params.key))
must(
// Something to require that val1 > val2
)
}
Я мог бы отфильтровать его после поиска, но это испортит разбивку на страницы.
Любые идеи?
Ну, я бы хотел улучшить результаты поиска с помощью Compass Engine, предоставляемого плагином для поиска. Таким образом, я могу сортировать результаты в соответствии с их сходством с строкой запроса, предлагать новый запрос, если найдено слишком мало результатов и т. Д. – ylima
Отредактирован мой вопрос, чтобы уточнить его немного больше – ylima
@ylima Я добавил больше ответа – zero01alpha