使用嵌套字段进行多索引搜索
Multi indices search with nested fields
我有两个索引:
首先,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]"
当一个索引有嵌套字段而另一个索引没有时,我如何才能不出错地进行搜索?
我认为您需要使用 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"
}
}
}
]
}
}
}
我有两个索引:
首先,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]"
当一个索引有嵌套字段而另一个索引没有时,我如何才能不出错地进行搜索?
我认为您需要使用 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"
}
}
}
]
}
}
}