elasticsearch - Elasticsearch 查询以获取数组大小
问题描述
我的 Elasticsearch 文档看起来像:
Doc 1:
{
"name" : "Tom",
"values" : [
{ "value" : "value 1" },
{ "value" : "value 2" },
{ "value" : "value 3" }
]
}
Doc 2:
{
"name" : "Bob",
"values" : [
{ "value" : "value 1" },
{ "value" : "value 2" }
]
}
如何通过文档查询values
数组大小大于 2?
解决方案
您需要将此添加到您的布尔查询中。
"filter" : {
"script" : {
"script" : "doc['values'].values.size() > 2"
}
}
filter
过滤符合条件的文档。
size()
返回数组的大小。
doc['values']
寻找values
领域。
推荐阅读
- scala - 将akka流源[A,B]映射到源[A,NotUsed]
- sqlite - 有没有办法按条件顺序对 SQLite SELECT 结果值进行排序?
- angular - 在多值选择中禁用“全选”上的所有其他选项
- php - 未找到 Google App Engine 中 PHP 表单的操作脚本
- web-services - 测试套件未在 Katalon Studio 中运行
- sql-server - 如何将普通表上的现有索引移动到内存优化文件组?
- string - 获取 Golang 字符串的最后一个 X 字符哪个更好?
- javascript - xmlHTTP POST 请求
- java - JAVA:在子类中使用超类的getter和setter的正确方法
- regex - 用 re.findall 加倍斜线 - Python