Elasticsearch 的相似度算法 被定义为检索词频率/反向文档频率, TF/IDF ,包括以下内容:


检索词频率
  检索词在该字段出现的频率?出现频率越高,相关性也越高。 字段中出现过 5 次要比只出现过 1 次的相关性高。
反向文档频率
  每个检索词在索引中出现的频率?频率越高,相关性越低。检索词出现在多数文档中会比出现在少数文档中的权重更低。
字段长度准则
  字段的长度是多少?长度越长,相关性越低。 检索词出现在一个短的 title 要比同样的词出现在一个长的 content 字段权重更大。

 

   public void Explain()
        {
            client.Search<employee>(s =>
                s.Query(q =>
                        q.ConstantScore(c =>
                            c.Filter(f =>
                                f.Term(t =>
                                    t.Field("age").Value("26")
                                ))))
                    .Sort(so => 
                        so.Descending("last_name")
                    )
                    .Pretty().Explain());

            var response = client.Explain<employee>("f90209f0-406b-4a0d-a9fb-8e2d6193dcdb",s =>
                s.Query(
                    q => q.Match(m => m.Field(f => f.last_name).Query("陈"))
                ).Pretty());
        }

  

 
posted on 2019-09-21 10:22  chester·chen  阅读(226)  评论(0编辑  收藏  举报