es数组包含查询

es中字段A 值是一个list [a, b, c, d],当入参为[a, b, c, d, e] 或 [a, b, c, d] 就可以匹配到;如果是 [a, b, c] 就匹配不到。

复制代码
{
	"query": {
		"bool": {
			"filter": [{
				"script": {
					"script": {
						"source": """ 
                            List<Integer> fieldAValues = Arrays.asList(doc['field_a'].values()); 
                            List<Integer> searchValues = Arrays.asList(params.searchValues); 
                            return searchValues.stream().allMatch(fieldAValues::contains);
    					""",
						"lang": "painless",
						"params": {
							"searchValues": [a, b, c, d]
						}
					}
				}
			}]
		}
	}
}

该方法比较耗cpu。

其他类似方法:

Fingerprint processor | Elasticsearch Guide [8.6] | Elastic

相关推荐
乐观的Terry34 分钟前
博客系统全文搜索实战:用 Elasticsearch 告别 MySQL LIKE 查询
mysql·elasticsearch
敖正炀2 小时前
索引写入与数据持久化深度
elasticsearch
Achou.Wang4 小时前
Docker 多阶段构建:优化 Go 应用镜像大小的最佳实践
elasticsearch·docker·golang
comcoo4 小时前
OpenClaw AI 聊天网关配置教程|Gateway 启动与完整使用指南
运维·人工智能·elasticsearch·gateway·openclaw安装包·open claw部署
C-200217 小时前
基于 JumpServer 容器化部署 ES 集群
大数据·elasticsearch·搜索引擎
程序员Terry21 小时前
博客系统全文搜索实战:用 Elasticsearch 告别 MySQL LIKE 查询
后端·elasticsearch
jiayong231 天前
Git 常见错误与详细解决方案
大数据·git·elasticsearch
jiayong231 天前
Git 分支命名、区别、联系与顺序关系说明
大数据·git·elasticsearch
jiayong231 天前
常用 Git 命令详解
大数据·git·elasticsearch
逸Y 仙X1 天前
文章一:深度掌握Elasticsearch集群组建和集群设置
大数据·elasticsearch·搜索引擎·全文检索