搜索字符串的比例如找到所有值为gt 1:1的地方

时间:2011-05-20 17:44:28

标签: plugins grails checkbox searchable

我在域对象和表中有一个属性,其值为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)]
}

我无法获得结果集。请让我知道如何做到这一点。

由于 ayrus

1 个答案:

答案 0 :(得分:0)

我不认为文本索引是可能的,除非可能值的集合非常有限 - 例如只有'2:1','1:1'和'1:2'。在后一种情况下,您只需指定显式的值列表。

是否可以将字段拆分为2个数字字段?

如果像'7:7'这样的值有效,那么使用Hibernate进行正确搜索甚至是不可能的。如果只有“1:X”和“X:1”是可能的,那么我只需要使用

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