es数组包含查询

es中字段A 值是一个list a, b, c, d,当入参为a, b, c, d, ea, 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

相关推荐
Elasticsearch6 小时前
一个字段,覆盖所有模态:Elasticsearch 的 semantic 字段如何自动索引和搜索图像、音频、视频和 PDF
elasticsearch
Elastic 中国社区官方博客6 小时前
使用 Elasticsearch open inference API 对 OpenAI chat completions 进行支持
大数据·elasticsearch·搜索引擎·全文检索·jenkins
Elasticsearch9 小时前
jina-reranker-v3.5:通过混合 Attention 和自蒸馏实现更快的 Listwise Reranking
elasticsearch
Elasticsearch9 小时前
Elasticsearch 转型为 Agent 基础设施:混合搜索、长期记忆与工程化框架
elasticsearch
Elasticsearch11 小时前
在隔离网络和断开连接的环境中部署 Elastic
elasticsearch
Elasticsearch12 小时前
从搜索到结账只需 20 行代码:使用 OpenTelemetry 构建四阶段转化漏斗
elasticsearch
Elasticsearch12 小时前
你的堆内存图表看不到的隐藏压力:AutoOps 现已监控向量堆外内存
elasticsearch
程序员小八7771 天前
一篇文章讲透 Elasticsearch:从倒排索引到实战落地
大数据·elasticsearch·搜索引擎