elasticsearch版本为7.x
这里有一些嵌套的数据打击:
data1:
[{name:"tom"},{name:"jack"}]
data2:
[{name:"tom"},{name:"rose"}]
data3:
[{name:"tom"},{name:"rose3"}]
...
dataN:
[{name:"tom"},{name:"roseN"}]当我使用术语查询时,只想搜索汤姆,杰克,但不想包括rose...roseN
query:{
terms:{["tom","jack"]}
}
this code is not effective发布于 2021-01-22 02:28:00
添加一个工作示例
索引数据:
PUT /_doc/1
{
"names": [
{
"name": "tom"
},
{
"name": "jack"
}
]
}
PUT /_doc/2
{
"names": [
{
"name": "tom"
},
{
"name": "rose"
}
]
}搜索查询:
{
"query": {
"bool": {
"must": {
"terms": {
"names.name": [
"tom",
"jack"
]
}
},
"must_not": {
"match": {
"names.name": "rose"
}
}
}
}
}搜索结果:
"hits": [
{
"_index": "65838516",
"_type": "_doc",
"_id": "1",
"_score": 1.0,
"_source": {
"names": [
{
"name": "tom"
},
{
"name": "jack"
}
]
}
}
]https://stackoverflow.com/questions/65838516
复制相似问题