我正在使用Elasticsearch完成提示器在用户键入时搜索和建议关键字。它工作正常,但我也想按count字段对结果进行排序。 据我所知,我不能通过一个字段作为权重参数。那么,如何像Instagram一样通过弹性搜索按文本字段进行搜索并按长字段进行排序?
我也只想显示前5条建议,但是size参数也不起作用。
映射:
{
"mappings":
{
"doc":
{
"properties":
{
"keyword_name":{ "type" : "completion" },
"keyword_user_count":{ "type" : "long" }
}
}
}
}
我已经尝试过了,但是Sort不会改变结果。
"sort" : [
{ "keyword_user_count" : {"order" : "desc"}}
],
"suggest": {
"keyword-suggest" : {
"prefix" : "key",
"completion" : {
"field" : "keyword_name"
}
}
}
}