我想使用通配符在2个不同的列中搜索2个值,但它没有按预期运行2个值,但在单个query_string上运行正常
这适用于单列
{
"query": {
"query_string" : {
"default_field" : "Phone",
"query" : "*568072*"
}
}
}
我尝试将其扩展为使用2个具有2个不同值的列。
{
"query":
{
"bool":
{
"should": [
{
"query_string":
{
"query": "*Chicago*",
"fields": ["Sources"]
},
"query_string":
{
"query": "*493*",
"fields": ["Phone"]
}
}
]
}
}
}
我哪里错了?
您的查询中有错误。你在should
数组中有一个大对象,它有两个相同的键没有意义。相反它应该是这样的对象数组:
{
"query": {
"bool": {
"should": [
{ "query_string": { "query": "*Chicago*", "fields": ["Sources"] } },
{ "query_string": { "query": "*493*", "fields": ["Phone"] } }
]
}
}
}