【发布时间】:2019-09-17 04:11:31
【问题描述】:
我想检查一个包含一些值的长数组类型的字段。 我发现的唯一方法是使用脚本:ElasticSearch Scripting: check if array contains a value
但它仍然对我不起作用: 查询:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"script": {
"script": "doc['Commodity'].values.contains(param1)",
"params": {
"param1": 50
}
}
}
}
}
}
但我得到 0 次点击。虽然我有记录:
{
"_index" : "aaa",
"_type" : "logs",
"_id" : "2zzlXEOgRtujWiCGtX6s9Q",
"_score" : 1,
"_source" : {
"Commodity" : [
50
],
"Type" : 1,
"SourceId" : "fsd",
"Id" : 123
}
}
【问题讨论】:
-
你为什么不用
{ "query": { "match": { "Commodity": 50 } } }? -
我有一长串类似的过滤器。 + 我希望能够过滤多个值,例如:包含 50 和 45 的商品
标签: elasticsearch