elasticsearch学习篇之一 搜索引擎介绍

以下介绍为elasticsearch6.3版本为例
1.elasticsearch官方说明:
elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便
2.我们为什么要去学习elasticsearch呢?
在引入elasticsearch前,我们的数据一般都存储在mysql上,所有的检索都是直接在数据库的查询,当数据库的数据量达到一定量时,数据库的检索效率就会很低,对此我们或许会有很多解决方案,比如对数据库采用分库分表(主从设置),数据库分库分表的确可以解决大部分数据量性能问题,但是同样还是会有两个问题无法避免:
1>:分表多表的关联查询难度很大,不易实现(目前市场上主流的集中分库分表插件都没有很好的解决)
2>:没有建立索引的字段查询效率依旧不高;于是基于以上场景,我们去分析elasticsearch的几个特点:分布式(多shard的方式保证数据安全,也会提供自动resharding),一般不会因为数据量有性能问题,实时:elasticsearch的检索速度非常快,接近实时(注意刚刚存储的数据) 搜索引擎:es的定位就是搜索索引,支持全文检索;
他有很多的应用场景,比如:
a. 它提供了强大的搜索功能,可以实现类似百度、谷歌等搜索。
b. 可以搜索日志或者交易数据,用来分析商业趋势、搜集日志、分析系统瓶颈或者运行发展等等
c. 分析商业信息,在百万级的大数据中轻松的定位关键信息
3.elasticsearch的几个基本概念
 1.Index(索引) 索引是一类文档的集合 ,6.0之前类似于数据库, 6.0之后 类似于数据库的表
2.type(类型) 类型可以理解成一个索引的逻辑分区,用于标识不同的文档字段信息的集合。6.0之后将取消type可以自己指定
3.document(文档):即搜索引擎中的文档概念,也是ES中一个可以被检索的基本单位,相当于数据库中的row,一条记录。
4.字段(Field)相当于数据库中的column。ES中,每个文档,其实是以json形式存储的。而一个文档可以被视为多个字段的集合。比如一篇文章,可能包括了主题、摘要、正文、作者、时间等信息,每个信息都是一个字段,最后被整合成一个json串,落地到磁盘。
5.映射(Mapping):相当于数据库中的schema,用来约束字段的类型,不过 Elasticsearch 的 mapping 可以不显示地指定、自动根据文档数据创建。
在elasticsearch6.0之前
es mysql
index => database
type => table
document => Row
在elasticsearch6.0之后将类型取消 type可以自己指定
es mysql
index => table
type => 自定义字符
document => Row

本章我们只做一个初步介绍,如果深入了解还需查看官方文档
https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
接下来我将会对es索引的创建,数据导入,数据查询做介绍。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值