初始elasticSearch
elasticSearch
大致印象
为什么用?
- mysql更擅长于crud等操作,当一张表达到百万级别时,检索速度过慢
- es检索速度快
基本概念
- Index索引(两层意思)
- 动词:类似mysql的insert
- 名词:类似mysql的数据库
- type类型:类似mysql的具体表(指定了保存数据的类型,联系到了orm)
- Document文档:对应mysql的一行数据(保存格式:Json(意味着没有列名,而是对应的属性))
- 属性:对应mysql表中的列名
为什么快?
在索引document的时候,会维护一张倒序索引表,
这张表的更新逻辑是:
- 对每个要索引进来的文档进行分词,然后标识每个分词在哪个document中出现
检索的时候,会根据检索词,在倒序索引表中得到一系列有关分词的相关性得分(个人猜测,这个相关性得分可以通过一系列的设置,比如哪个属性比重比较大,通过这个得分来决定用户优先看到的商品是哪些?)