id:1
如何创建这样的查询?
您可以使用
shingle
tokenfilter
Mapping
领域有
city
。 city_analyzer
将文本转换为单个令牌
搜索分析仪是
city_analyzer
。分析仪将文本分为2个项目和3个项目的木瓦,以将城市名称提取为单个令牌
你和我的文件shingle_analyzer
搜索“纽约”
POST /cities/_bulk
{"create":{}}
{"city":"New York"}
{"create":{}}
{"city":"New Orleans"}
{"create":{}}
{"city":"Old York"}
{"create":{}}
{"city":"York"}
response
GET /cities/_search?filter_path=hits.hits
{
"query": {
"match": {
"city": {
"query": "Pizza in New York",
"analyzer": "shingle_analyzer"
}
}
}
}
约克(York)受到热门歌曲,因为也有单个字的城市名称
搜索“约克”并收到回应
{
"hits" : {
"hits" : [
{
"_index" : "cities",
"_type" : "_doc",
"_id" : "myQonpUBApSWQ18JuXcs",
"_score" : 1.2039728,
"_source" : {
"city" : "New York"
}
},
{
"_index" : "cities",
"_type" : "_doc",
"_id" : "niQonpUBApSWQ18JuXcs",
"_score" : 1.2039728,
"_source" : {
"city" : "York"
}
}
]
}
}