elasticsearch通过作为数组的字段的大小过滤

elasticsearch通过作为数组的字段的大小过滤,第1张

elasticsearch通过作为数组字段的大小过滤

我来看看脚本过滤器。以下过滤器应仅返回在

fieldname
字段中具有至少10个元素的文档,该文档是一个数组。请记住,这可能很昂贵,具体取决于索引中有多少个文档。

"filter" : {    "script" : {        "script" : "doc['fieldname'].values.length > 10"    }}

关于第二个问题:那里真的有一个空数组吗?还是仅仅是一个没有值的数组字段?您可以使用缺少的过滤器来获取对特定字段没有价值的文档:

"filter" : {    "missing" : { "field" : "user" }}

否则,我想您需要再次使用脚本,类似于我上面建议的脚本,只是输入的长度不同。如果长度是恒定的,我将其放在该

params
部分中,以便脚本将由elasticsearch缓存并重新使用,因为它始终是相同的:

"filter" : {    "script" : {        "script" : "doc['fieldname'].values.length > param1"        "params" : { "param1" : 10        }    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4903228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存