Поиск строки с соотношением, как найти все, где значение GT 1: 1 - PullRequest
0 голосов
/ 20 мая 2011

У меня есть свойство в доменном объекте и таблице, которые имеют значения 1: 1, 2: 1;3: 1.Я использую поисковый плагин для поиска на основе этого свойства, например, я хочу получить записи, соотношение которых больше 1: 1.Это свойство отображается как флажок в форме, и когда я отмечаю этот флажок, нажмите «Поиск», я должен получить все записи с соотношениями, превышающими 1: 1.Вот мой тег и метод:

tag: <input type="checkbox" name="query" value=="1:1" />

search method: 
//Ratio greater than 1:1
if(params.query[20]){
    String searchTerm = "2:1"
    println searchTerm
    return [searchResult: searchableService.search(searchTerm, params)]
}

Я не могу получить набор результатов.Пожалуйста, дайте мне знать, как это сделать.

Спасибо, Айрус

1 Ответ

0 голосов
/ 21 мая 2011

Я не думаю, что это возможно с текстовой индексацией, если только набор возможных значений не очень ограничен - например, только «2: 1», «1: 1» и «1: 2». В последнем случае вы можете просто указать явный список значений.

Можно ли разбить поле на 2 числовых?

Теперь даже с помощью Hibernate невозможно выполнить правильный поиск, если допустимы значения типа «7: 7». Если бы возможны только «1: X» и «X: 1», тогда я бы просто пошел с

DomainClass.withCriteria {
  like(score, '%:1')
  ne(score, '1:1')
}
...