Elasticsearch学习之相关度评分TF&IDF
Posted 笨小孩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch学习之相关度评分TF&IDF相关的知识,希望对你有一定的参考价值。
relevance score算法,简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度
Elasticsearch使用的是 term frequency/inverse document frequency算法,简称为TF/IDF算法
Term frequency(TF):搜索文本中的各个词条在field文本中出现了多少次,出现次数越多,就越相关
Inverse document frequency(IDF):搜索文本中的各个词条在整个索引的所有文档中出现了多少次,出现的次数越多,就越不相关
示例:
搜索请求:hello world
doc1:hello, today is very good
doc2:hi world, how are you
比如说,在index中有1万条document,hello这个单词在所有的document中,一共出现了1000次;world这个单词在所有的document中,一共出现了100次
doc2更相关
Field-length norm:field长度,field越长,相关度越弱
doc1:{ "title": "hello article", "content": "babaaba 1万个单词" } doc2:{ "title": "my article", "content": "blablabala 1万个单词,hi world" } hello world 在整个index中出现的次数是一样多的 doc1 更相关,title field更短
分析一个document是如何被匹配上的
GET /test_index/test_type/6/_explain { "query": { "match": { "test_field": "test hello" } } }
以上是关于Elasticsearch学习之相关度评分TF&IDF的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch系列---相关性评分算法及正排索引
Elasticsearch系列---相关性评分算法及正排索引
在 Elasticsearch 中计算相关性评分与 Couchbase 有何不同?
ElasticSearch探索之路权重计算与文本分析:布尔模型TF/IDF向量空间模型分析与分析器