Я думаю, что меня сбивает с толку то, как удалить элемент запроса в отфильтрованном объекте.Вот как это выглядит сейчас:
{
"body":{
"query":{
"filtered":{
"filter":{
"bool":{
"must":[
{ "term":{ "userId":"user:12345" }}
],
"must_not":[
{ "term":{ "availability":"trashed" }}
]
}
},
"query":{
"bool":{
"should":[
{ "query_string":{
"query":"Foo bar",
"default_operator":"AND"
}
},
{ "has_child":{
"type":"doctext",
"query":{
"query_string":{
"query":"Foo bar",
"default_operator":"AND"
}
}
}
}
]
}
}
}
}
}
}
Из прочтения других постов и руководств я думаю все, что мне нужно сделать, это избавиться от "запроса" и "bool"и оставить все от "должен" дальше.Тем не менее, у меня нет одинаковых данных, проиндексированных как в старых, так и в новых индексах, поэтому в настоящий момент я не могу проверить эти два параметра рядом.
Вот то, что я придумал, любые предложения будут с благодарностью:
{
"body":{
"query":{
"bool":{
"filter":{
"bool":{
"must":[
{ "term":{ "userId":"user:12345" }}
],
"must_not":[
{ "term":{ "availability":"trashed" }}
]
}
},
"should":[
{
"query_string":{
"query":"Foo bar",
"default_operator":"AND"
}
},
{ "has_child":{
"type":"doctext",
"query":{
"query_string":{
"query":"Foo bar",
"default_operator":"AND"
}
}
}
}
]
}
}
}
}