Elasticsearch通配符多个领域
问题描述:
我有,我想,以配合两个领域中的至少一个部分字符串s,作为一个子字符串(小号)匹配上。因此,举例来说,如果我有串456,我想搜索其中两个指定字段中的至少一个,存在456.所以,如果FIELD1有1234567,它会匹配,或者如果有域2的34567字符串的任何条目,它会匹配。下面是我试图做到这一点至今的方式之一,但没有运气。Elasticsearch通配符多个领域
query: {
bool: {
should: { wildcard: { field1: "*" + input + "*"}},
should: { wildcard: { field1: "*" + input + "*"}}
}
}
我也曾尝试
query: {
query_string: "*" + input + "*",
fields: ["field1", "field2"]
}
答
我想你需要的是:
{
"query": {
"bool": {
"should": [
{
"wildcard": {
"field1": "*"+"input"+"*"
}
},
{
"wildcard": {
"field2": "*"+"input"+"*"
}
}
]
}
}
}
+0
这个工作!非常感谢 – AGDW
你可以分享你的索引映射? –