【发布时间】:2024-12-09 17:20:02
【问题描述】:
我正在尝试使用 ElasticSearch 实现前缀自动完成功能,这是我对建议字段的映射:
PUT vdpinfo
{
"mappings": {
"details" : {
"properties" : {
"suggest" : {
"type" : "completion"
},
"title": {
"type": "keyword"
}
}
}
}
}
并且我用单字和双字(bigram)索引了一些数据,例如:
{"suggest": "leather"}
还有:
{"suggest": "leather seats"}
{"suggest": "2 leather"}
我的搜索查询是这样的:
GET /vdpinfo/details/_search
{
"suggest": {
"feature-suggest": {
"prefix": "leather",
"completion": {
"field": "suggest"
}
}
}
}
但是结果返回{"suggest": "leather"}和{"suggest": "2 leather"},更重要的是,{"suggest": "2 leather"}的排名高于leather。
我的问题是为什么 2 leather 会被返回,为什么它不像查询中那样只执行 prefix 自动完成。 prefix: leather?
【问题讨论】:
标签: elasticsearch autocomplete