分布式搜索引擎基础

搜索引擎是什么?

搜索引擎是个整体技术,是一系列检索服务。百度是全文检索(更注重文字的搜索)服务。像京东的商品是垂直型搜索引擎。

es是什么?

Elastic Search 在搜索引擎中是一个分布式索引库,nosql。有点像是程序中的mysql。对外提供检索服务,http或者transport协议对外提供搜索,restful的json。对内就是数据库。

Es名词定义:

索引   就是数据库但是不能叫数据库。

类型(type) ≈表  ex6.x 只有一个type,,之前可以建很多。es7.x就没有这个type了。

文档=行数据document 。

filed  = column

缺点:nosql 非关系型的,没办法链接查询,就是跨索引查询(有点像mysql的跨表)。

在es中我们经常听到这些名词,现在拿这些名词和关系型数据库做对比:

分词:

NLP:自然语言处理。

搜索是以词为单位。 

倒排索引:

就是我们的value 对应key, 因为没办法通过一个value确定我们的key所以返回的结果可能是多个,这就是倒排索引和正排索引的最大区别。

正向索引:

类似我们的hashmap,比如十篇文档,我们的1,2,3(类似我们的id)通过id找到value,

Doc: 1  ->content

Doc: 1  ->content、

TF-IDF :

TF:词频,一篇文章包含多了少这个词,包含越多说明跟这个词越相关。(例如: my name is zhaoxiaoyun  zhaoxiaoyun。    zhaoxiaoyun就是最相关的)

DF:文档词频,包含这个词的文档总数。

IDF:逆文档,1/df  如果这个词包含的越少,就是df越小说明这个词对这个文档的重要性就越大,比如1/1只有一个文档出现了。

TFIDF:TF*IDF   数字越大说明这个文档和这个搜索的词关系越大, 比如一个文档出现了3次aa,只有一个文档有aa ,3*三分之一。 通过这个结果判断顺序。

Es:打分排序:BM25算法 里面有个  tfNom,有很多规则。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容