我想用弹性搜索(6.1)进行研究,如果标准' searchText'是空的。
实际上,我有这个:
'query': {
'bool': {
'should': [
{
'match_all': {}
},
{
'nested': {
'path': 'person',
'query': {
'and': {
'should': [
{'match': {'person.name': searchText}},
{'match': {'person.noCtr': searchText}},
{'match': {'person.noIde': searchText}}
]
}
}
}
}
]
}
}
有了这个,当searchText为空时,我得到了所有结果。但是如果填充了searchText,则仍会显示所有结果(无论标准如何)
感谢您的帮助!
答案 0 :(得分:0)
尝试在查询中添加“ minimum_should_match ”:1,以便仅在其中一个“should”子句为真时才显示结果。
如果您想在多个字段中搜索相同的值,可以在“ _all ”(“全部包含”)中详细了解
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/mapping-all-field.html