0

域(只是简单的例子):

class House {
String address
String region
Long price
static searchable = { only = ['address', 'price', 'region'] }
} 

我想用价格选择器按地址搜索

搜索查询是:

"${address} AND price: [100 TO 1000]"

但是如果搜索结果中的地址='500' 将是价格为 500 的房屋。我只需要通过 House.address + House.region 查找地址的房屋

4

1 回答 1

1

如果我理解,您想使用 ${address} 的值仅查询地址和区域属性。

在这种情况下,根据http://grails.org/Searchable+Plugin+-+Searching+-+String+Queries上的“复杂”查询字符串示例,您的查询字符串可能是:

“+(地址:${地址} OR 地区:${地址})价格:[100 TO 1000]”

  • 匹配项必须具有 ${address} 值作为地址或 ${address} 值作为区域,并且具有从 100 到 1000 的值作为价格。

注意:您的输入变量与实体属性“地址”具有相同的名称,当尝试使用它们来理解查询字符串时,这可能会导致一些混乱。虽然不需要,但您可能想要更改它,以便更易读的查询字符串。

于 2014-02-13T17:05:31.560 回答