不为失败找理由,要为成功找方法。

elasticsearch如何按匹配词靠前排序?

Elasticsearch | 作者 nainc | 发布于2016年04月06日 | 阅读数:19521

如题。
举个例子,比如有字段做了中文分词,查询'青年旅馆',返回结果是:
[北京青年旅馆,天津青年旅馆,青年旅馆北京东城区店],根据默认的boost mode,北京青年旅馆的score更高一点

现在希望按匹配的词靠前,排序就靠前,希望的结果:
[青年旅馆北京东城区店,北京青年旅馆,天津青年旅馆]

求指导一下,感谢
已邀请:

helloes

赞同来自: nainc

你试下match_phrase_prefix

fanmo3yuan

赞同来自: zhangdi

lz解决了吗,同问

qq123 - 90后IT精英

赞同来自:

.minimumShouldMatch("88%") 精准度

nainc

赞同来自:

@fanmo3yuan
有效,我是这么写的,增加一个前缀匹配,设置一个自己希望的权重,那么响应的结果分值就会变化query: {
  match_phrase_prefix: {
  att => {
  query: search_text,
    boost: 0.3
  }
 }}

要回复问题请先登录注册