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