我正在使用elasticsearch 6.1版本,我想使用其功能的“建议者”。我已经以建议者所需的格式转储了数据。
我使用了这些查询。
PUT /hotels
{
"mappings": {
"hotel" : {
"properties" : {
"name" : { "type" : "keyword" },
"city" : { "type" : "keyword" },
"name_suggest" : {
"type" : "completion"
}
}
}
}
}
put hotels/hotel/1
{
"name" : "Mercure Hotel Munich",
"city" : "Munich",
"name_suggest" : "Mercure Hotel Munich"
}
put /hotels/hotel/2
{
"name" : "Hotel Monaco",
"city" : "Munich",
"name_suggest" : "Hotel Monaco"
}
put /hotels/hotel/3
{
"name" : "Courtyard by Marriot Munich City",
"city" : "Munich",
"name_suggest" : "Courtyard by Marriot Munich City"
}
然后我触发
的搜索查询Post http://localhost:9200/hotels/_search
{
"suggest": {
"name_suggest": {
"text": "h",
"completion": {
"field": "name_suggest"
}
}
}
}
我得到了输出结果。它只返回我的“摩纳哥酒店”的2个数据,但它不建议我“慕尼黑美居酒店”它有酒店。
我想在我的建议结果集中 我也试过“前缀”。
有没有人尝试过。请建议我任何解决方案。