{
"from":0,
"query":{
"bool":{
"must":[
{
"query_string":{
"query":"10*",
"lenient":true,
"fields":[
"phoneNumber"
],
"escape":true
}
}
]
}
}
}
这里的电话号码是long类型,我们想对它执行通配符搜索。我以10*的形式传递查询( "query":"10*",
)实际点击应该是15,但我得到0点击。
如果对类型为keyword(string)address的字段执行相同的操作,则使用 "query":"newyork*",
我得到结果了。
有人知道为什么我们没有得到长型字段的点击率吗?
1条答案
按热度按时间lqfhib0f1#
不能直接对数字数据类型执行通配符。最好将这些整数转换成字符串。
添加索引数据、Map、搜索查询和搜索结果的工作示例
索引Map:
索引数据:
搜索查询:
搜索结果:
如果要进行部分匹配,甚至可以使用edge n-gram标记器