搜索引擎是一个检索服务,主要分全文检索(如百度)和垂直检索(如京东)。
ElasticSearch是分布式的索引库,对内就是一个nosql的数据库,我们称为索引。对外提供检索服务,方式是http或者transport协议(7.0以后不支持)对外提供搜索。
es的名词解释
搜索引擎基础
es是倒排索引
es用的是倒排索引, 根据value去找key
一个value可以对应很多个key
- 正向索引:(根据key找value)
类似HashMap,例如有10篇文档,每个文档有自己的编号1,2,3(key)
那么Doc:1->content
Doc:2->content
这种key对应一篇文档的形式就是我们所说的正向索引。 - 倒排索引:(把value对应成key)
TF-IDF
TF词频: 一篇doc中包含了多少这个词,包含越多表明越相关
DF:文档频率,包含这个词的文档总数 越大说明越没用
IDF:逆文档,为1/DF。IDF越大,说明词对这篇文档重要性越大
TFIDF:TF*IDF 主要思想就是某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力
ES的打分排序用的是BM26算法tfNom