我有一个查询,它在两个字段中搜索给定的术语。术语来自UI中的一个输入字段。如果输入字段为空,则查询不返回任何数据,而我希望返回所有数据。
一个解决方案是从_search查询中删除查询部分,但之后我需要动态地组合查询部分。
推荐的方法是什么?
我的查询:
{
"query":{
"filtered":{
"query":{
"bool":{
"should":
[
{
"match":{
"lastName":{
"query": "Gevaert",
"fuzziness": 0.2
}
}
},
{
"match":{
"organization":{
"query": "Gevaert",
"fuzziness": 0.2
}
}
}
]
}
}
,
"filter":{
"term":{
"category.id":"CAT102"
}
}
}
}
}
您也可以将"zero_terms_query":"all"添加到匹配查询中,在这种情况下,如果没有找到匹配,则所有匹配都将返回