Elasticsearch学习历程(一)

一.什么是Elasticsearch?

Elasticsearch是一个开源的分布式,Restful风格的搜索和数据分析引擎,是在Apche Lucence基础上开发的。使用java编写,他可以适用所有的数据类型,有点事,分布式特性,速度快,可扩展。

二.用途

主要用来做应用搜索,网络搜索,企业搜索,日志处理分析,性能检测,安全分析等。

三.Elasticsearch基本概念

由于之前学过mysql数据库,我们就类比着讲一下Elasticsearch。

1.Index(索引)

当为动词时,相当于mysql的insert操作 也就是插入

当为名词时,相当于mysql的database,也就是库。

2.Type(类型)

在Index中可以定义一个或者多个类型,类似于在mysql中一个库下面有多个table一样,每一种类型的数据放在一起

3.document(文档)

保存在索引下某种类习惯的一个数据document,文档时json格式的,Document就像是mysql里面的某个表中的一条数据。

4.文档元数据 document metadata
 文档元数据为_index,_type,_id,这三者可以唯一表示一个文档,_index表示文档在哪存放,_type表示文档的对象类别,_id为文档的唯一标识
 
 5.字段 Fields
 每个Document都类似于一个json结构,包含许多字段,每个字段都由其对应的值,多个字段组成了一个Document,可以类比数据库数据表中的字段。
 在elasticsearch中文档归属于type,这些类型存在于索引中.

6.全文搜索

        全文索引是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,索引程序就根据实现简历的索引进行查找,并将查找的结果返回给用户的检索方式。

7.倒排索引

        索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址,由于不是由记录来确定属性值,而是由属性值来确定记录的位置,所以称之为倒排索引。Elasticsearch正是基于倒排索引原理。

おすすめ

転載: blog.csdn.net/Chen_leilei/article/details/121075298