我正在尝试查找名称长度超过 32 个字符的所有文档。
这是文档的映射。
export const boards = {
handle: {
type: "text"
},
name: {
type: "keyword"
},
};
我尝试使用无痛来查询字段的size
,但尽管有,但以下查询没有返回任何结果。
查询
GET /_search
{
"query": {
"bool" : {
"filter" : {
"script" : {
"script" : {
"source": "doc['name'].size() > 32",
"lang": "painless"
}
}
}
}
}
}
我认为这可能与所使用的关键字类型有关。
我从这个论坛帖子中发现,使用关键字大小不是正确的方法。相反,您需要使用:.value.length()
使我的最终查询如下所示:
{
"query": {
"bool" : {
"filter" : {
"script" : {
"script" : {
"source": "doc['name'].value.length() > 32",
"lang": "painless"
}
}
}
}
}
}