0

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

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

谢谢艾鲁斯

4

1 回答 1

0

我认为文本索引是不可能的,除非可能的值集非常有限——比如只有“2:1”、“1:1”和“1:2”。在后一种情况下,您可以只指定明确的值列表。

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

如果像 '7:7' 这样的值是有效的,现在甚至不可能用 Hibernate 正确搜索。如果只有 '1:X' 和 'X:1' 是可能的,那么我会选择

DomainClass.withCriteria {
  like(score, '%:1')
  ne(score, '1:1')
}
于 2011-05-21T06:37:01.833 回答