我在我的 grails 项目中使用可搜索插件,
我有一个这样的域类:
class Item {
...
String dominantColor
String palette
...
static searchable = {
....
only: ['title', 'description' ,'palette' , 'dominantColor']
}
显性颜色是一个包含颜色名称的字符串,例如:
绿色的
调色板 是一个包含颜色列表的字符串,如下所示:
[“沙漠沙”、“深丛林绿”、“外太空”、“暗灰色”、“板岩灰”、“军绿色”、“深电蓝”、“军校灰”、“深栗色”]
我试图只搜索具有选定颜色的项目,我试过这样:
def searchResult = Item.search({
must(term("Item.publication", true))
must(term("Item.Itemlist.isPublished", true))
must{queryString(query)}
if(params.color){
String selectedColor = params.selectedColorName
must{
term('Item.dominantColor', selectedColor)
term('Item.palette', selectedColor)
}
}
}).results
但不起作用,谁能帮我弄清楚我的查询有什么问题?
编辑 我注意到
must{term('proprityName ', value)
不适用于字符串值,
当我只尝试这个时,它可以工作
must(term("Item.publication", true))
但这并没有
term('Item.dominantColor', "Green")