我在查询时遇到一些问题,我有一个嵌套的文档


"query":{
"nested": {
"path":  "lang",
"query": {
"query_string": {
"default_field": "lang.name", 
"query": "*Bat*"

}
}
}
}

它正在工作,但我也想在product_model中搜索(它类似于嵌套路径(。如何合并这两个查询?非常感谢。

"query":{
"nested": {
"path":  "product_model",
"query": {
"query_string": {
"default_field": "product_model.keyword", 
"query": "*Bat*"

}
}
}
}

您可以使用bool查询将两者结合起来

如果您想根据product_model或lang中的值筛选文档,则使用should子句(or(

如果您想根据product_model和lang中的值筛选文档,则使用must子句(and(

应该举例

{
"query": {
"bool": {
"should": [
{
"nested": {
"path": "lang",
"query": {
"query_string": {
"default_field": "lang.name",
"query": "*Bat*"
}
}
}
},
{
"nested": {
"path": "product_model",
"query": {
"query_string": {
"default_field": "product_model.name",
"query": "*Bat*"
}
}
}
}
],
"minimum_should_match": 1
}
}
}

必须举例

{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "lang",
"query": {
"query_string": {
"default_field": "lang.name",
"query": "*Bat*"
}
}
}
},
{
"nested": {
"path": "product_model",
"query": {
"query_string": {
"default_field": "product_model.name",
"query": "*Bat*"
}
}
}
}
]
}
}
}

相关内容

最新更新