elastic search experience

一。ES 的好处

1. 分词功能

2. 对于搜索出来的结果,可以高亮某些词

3. 快速查询

二。ES 特点

1. java 开发

2. 基于Lucene(是一个架构,全文检索引擎,类似web 中的servlet,es 就像spring)

3. 基于Restful web 接口

4. 增量数据实时搜索比较快

三。ES 的几个概念

一。倒排索引

对于正排索引,是根据key 去找value。db 里存的都是完整的内容。

对于倒排索引,把数据导入es 中,然后进行搜索。导入的过程中,会对数据进行分词,查询的时候,通过数据的分词作为key,查找到对应的数据。

即正排索引就是根据key 找value,但是倒排索引就是根据value 去找key,然后找到对应的value。

二。与关系型数据库的对比

1. 

database(数据库) - index(索引库)

table(表) - type(类型)(es7 中已经作废)

row(行) - document(文档)

column(列) - field(字段)

2. 

一个es 集群包含多个索引(数据库),每个索引包含很多类型(es7 中已经作废),类型中包含很多文档(行),每个文档包含很多字段(列)。

3. 

传统db 是通过b+ tree 来加速检索。es 使用倒排索引(一种数据结构)来达到相同目的。

4. 

倒排索引源于实际中,需要根据属性值来查找记录的需求。

这种索引表中每一项都包括一个属性值和具有该属性值的各记录的地址。

由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引。

5. 

作废type 的原因是为了提高搜索效率

举例来说,查找city = shanghai,对于关系型数据库,要到各个表里去查询,然后进行汇总。

对于es 来说,就是要到各个type(类型)中去查询,然后进行汇总。

认为这样比较麻烦,所以只允许有一张表。有一张表就不会出现重复字段了,这场查出来就比较方便了。就是不想在多个type 中查找这个field 了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值