Elasticsearch完成建议 - 排序建议

时间:2014-12-30 16:50:46

标签: elasticsearch

是否可以让Elasticsearch完成建议器按排序顺序返回结果?我跟随this Elasticsearch blog post中的示例并添加了其他酒店:

{"name": "Mercure Hotel", "city": "Munich", "name_suggest": "Mercure Hotel"}
{"name": "Mercure Motel", "city": "Munich", "name_suggest": "Mercure Motel"}
{"name": "Mercure1", "city": "Munich", "name_suggest": "Mercure1"}
{"name": "Mercure2", "city": "Munich", "name_suggest": "Mercure2"}
{"name": "Mercure3", "city": "Munich", "name_suggest": "Mercure3"}

当我将以下内容发布到_suggest端点...

{
  "hotels":
  {
    "text": "Me", "completion": {"field":"name_suggest", "size":10}
  }
}

...我的结果是这样订购的(所有得分:1):

  • 美居汽车旅馆
  • 慕尼黑美居酒店
  • Mercure1
  • Mercure2
  • 美居酒店
  • Mercure3

我希望他们能够在词汇上排序,所以"美居酒店"来自"美居汽车旅馆"至少。

即使我发布文字" Mercure2"结果也是相同的。建议。我的期望是,如果不是唯一的建议,Mercure2将是第一个建议。

当我发现其他人遇到同样的问题时,通常意味着我做错了事或完全误解了这个话题。我是否对完成建议者抱有太多期望,或者我是否需要进行配置更改以实现我想要做的事情?

1 个答案:

答案 0 :(得分:1)

为每个文档添加System.Diagnostics.Process.Start(your_link); - 数字越大,优先级越高。

也就是说,用词法排序你的weight字符串,然后枚举它们。最后,从output(最高优先级)中减去它们的索引,以获得按词汇升序排列的建议。