Elasticsearch基本概念和使用

Elasticsearch基本概念和使用 1.操作索引 1.1.基本概念

Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。

对比关系:

索引(indices)--------------------------------Databases 数据库

​ 类型(type)-----------------------------Table 数据表

​ 文档(Document)----------------Row 行

​ 字段(Field)-------------------Columns 列

详细说明:

概念说明
索引库(indices)   indices是index的复数,代表许多的索引,  
类型(type)   类型是模拟mysql中的table概念,一个索引库下可以有不同类型的索引,比如商品索引,订单索引,其数据格式不同。不过这会导致索引库混乱,因此未来版本中会移除这个概念  
文档(document)   存入索引库原始的数据。比如每一条商品信息,就是一个文档  
字段(field)   文档中的属性  
映射配置(mappings)   字段的数据类型、属性、是否索引、是否存储等特性  

是不是与Lucene和solr中的概念类似。

另外,在SolrCloud中,有一些集群相关的概念,在Elasticsearch也有类似的:

索引集(Indices,index的复数):逻辑上的完整索引

分片(shard):数据拆分后的各个部分

副本(replica):每个分片的复制

要注意的是:Elasticsearch本身就是分布式的,因此即便你只有一个节点,Elasticsearch默认也会对你的数据进行分片和副本操作,当你向集群添加新数据时,数据也会在新加入的节点中进行平衡。

1.2.创建索引 1.2.1.语法

Elasticsearch采用Rest风格API,因此其API就是一次http请求,你可以用任何工具发起http请求

创建索引的请求格式:

请求方式:PUT

请求路径:/索引库名

请求参数:json格式:

{ "settings": { "number_of_shards": 3, "number_of_replicas": 2 } }

settings:索引库的设置

number_of_shards:分片数量

number_of_replicas:副本数量

1.2.2.测试

我们先用RestClient来试试

Elasticsearch基本概念和使用

响应:

Elasticsearch基本概念和使用

可以看到索引创建成功了。

1.2.3.使用kibana创建

kibana的控制台,可以对http请求进行简化,示例:

Elasticsearch基本概念和使用

相当于是省去了elasticsearch的服务器地址

而且还有语法提示,非常舒服。

1.3.查看索引设置

语法

Get请求可以帮我们查看索引信息,格式:

GET /索引库名

Elasticsearch基本概念和使用

或者,我们可以使用*来查询所有索引库配置:

Elasticsearch基本概念和使用

1.4.删除索引

删除索引使用DELETE请求

语法

DELETE /索引库名

示例

Elasticsearch基本概念和使用

再次查看heima2:

Elasticsearch基本概念和使用

当然,我们也可以用HEAD请求,查看索引是否存在:

Elasticsearch基本概念和使用

1.5.映射配置

索引有了,接下来肯定是添加数据。但是,在添加数据之前必须定义映射。

什么是映射?

​ 映射是定义文档的过程,文档包含哪些字段,这些字段是否保存,是否索引,是否分词等

只有配置清楚,Elasticsearch才会帮我们进行索引库的创建(不一定)

1.5.1.创建映射字段

语法

请求方式依然是PUT

PUT /索引库名/_mapping/类型名称 { "properties": { "字段名": { "type": "类型", "index": true"store": true"analyzer": "分词器" } } }

类型名称:就是前面将的type的概念,类似于数据库中的不同表
字段名:任意填写 ,可以指定许多属性,例如:

type:类型,可以是text、long、short、date、integer、object等

index:是否索引,默认为true

store:是否存储,默认为false

analyzer:分词器,这里的ik_max_word即使用ik分词器

示例

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/11604.html