我有两个指数:
首先,questions
具有嵌套字段answers
。其次,articles
没有此字段。
我尝试通过多指数进行搜索:
{
"index": "questions, articles",
"body":{
"query":{
"bool":{
"must":{
"nested":{
"path": "answer",
...
}
}
}
}
}
}
并收到错误"query_parsing_exception: [nested] failed to find nested object under path [answer]"
当一个索引具有嵌套字段但另一个索引没有?
时,如何在没有错误的情况下进行搜索答案 0 :(得分:1)
我认为您需要使用indices
query并为每个索引使用不同的查询。像这样:
GET /questions,articles/_search
{
"query": {
"bool": {
"must": [
{
"bool": {
"should": [
{
"indices": {
"indices": [
"questions"
],
"query": {
"nested": {
"path": "answer",
"query": {
"term": {
"text": "bla"
}
}
}
}
}
},
{
"match_all": {}
}
]
}
},
{
"term": {
"some_common_field": {
"value": "whatever"
}
}
}
]
}
}
}