我想使用URI搜索(q =)在ElasticSearch中执行AND操作。我该怎么做?
如果我有这样的文档:[{“ name”:“ Test 1”,“ pub”:“ 2”},{“ name”:“ Test 2”,“ pub”:“ 1”},{“ name”: “ A”,“ pub”:“ 1”}]
我想查询包含名称包含“ Test”且pub等于“ 1”的文档。我怎么做?
谢谢!
假设您的文档如下所示:
{
"my_field": [
{ "name":"Test 1", "pub":"2"},
{ "name":"Test 2", "pub":"1"},
{ "name":"A", "pub":"1"}
]
}
并且的映射my_field
类型nested
与此类似:
{
"mappings": {
"doc_type": {
"properties": {
"my_field": {
"type": "nested",
"properties": {
"name": { "type": "string" },
"pub": {"type": "integer" }
}
}
}
}
}
}
然后,您可以通过以下nested
查询查询索引并获取所需的文档:
POST /_search
{
"query": {
"nested": {
"path": "my_field",
"query": {
"bool": {
"filter": [
{
"match": {
"name": "Test"
}
},
{
"match": {
"pub": 1
}
}
]
}
}
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句