我认为让我绊倒的是如何删除已过滤对象中的查询元素。这是现在的样子:
{
"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"
}
}
}
}
]
}
}
}
}
}
}
通过阅读其他文章和指南,我认为,我需要做的就是摆脱“查询”和“笨蛋”,并从“应有”中删除所有内容。但是,我在新旧索引中都没有索引相同的数据,因此目前无法同时测试两者。
这是我想出的,任何建议将不胜感激:
{
"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"
}
}
}
}
]
}
}
}
}