我有如下文件:
{
"tags" => [
"tag1",
"tag2",
],
"name" => "Example 1"
}
{
"tags" => [
"tag1",
"tag3",
"tag4"
],
"name" => "Example 2"
}
Run Code Online (Sandbox Code Playgroud)
我现在想要的是进行术语搜索,其中给定的数组可能如下所示:
[tag1, tag3]
Run Code Online (Sandbox Code Playgroud)
预期命中应该是:
{
"tags" => [
"tag1",
"tag3",
"tag4"
],
"name" => "Example 2"
}
Run Code Online (Sandbox Code Playgroud)
但是,当我执行以下查询时:
GET _search
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"bool": {
"must": [
{
"terms": {
"tags": [
"tag1",
"tag3"
]
}
}
]
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
因为示例 1 …