【ElasticSearch】 ElasticSearch基本概念和RESTful API(四)

ElasticSearch基本概念

索引

索引(index)是Elasticsearch对逻辑数据的逻辑存储,所以它可以分为更小的部分。 可以把索引看成关系型数据库的表,索引的结构是为快速有效的全文索引准备的,特别是它不存储原始值。 Elasticsearch可以把索引存放在一台机器或者分散在多台服务器上,每个索引有一或多个分片(shard),每个 分片可以有多个副本(replica)。

文档

  • 存储在Elasticsearch中的主要实体叫文档(document)。用关系型数据库来类比的话,一个文档相当于数据库 表中的一行记录。
  • Elasticsearch和MongoDB中的文档类似,都可以有不同的结构,但Elasticsearch的文档中,相同字段必须有相 同类型。
  • 文档由多个字段组成,每个字段可能多次出现在一个文档里,这样的字段叫多值字段(multivalued)。
  • 每个字段的类型,可以是文本、数值、日期等。字段类型也可以是复杂类型,一个字段包含其他子文档或者数 组。

映射

所有文档写进索引之前都会先进行分析,如何将输入的文本分割为词条、哪些词条又会被过滤,这种行为叫做 映射(mapping)。一般由用户自己定义规则。

文档类型

  • 在Elasticsearch中,一个索引对象可以存储很多不同用途的对象。例如,一个博客应用程序可以保存文章和评论。
  • 每个文档可以有不同的结构。
  • 不同的文档类型不能为相同的属性设置不同的类型。例如,在同一索引中的所有文档类型中,一个叫title的字段 必须具有相同的类型。

RESTful API

在Elasticsearch中,提供了功能丰富的RESTful API的操作,包括基本的CRUD、创建索引、删除索引等操作。

本例演示示例Elasticsearch安装,参考:【ElasticSearch】 ElasticSearch安装(一)

Elasticsearch-Head插件安装,参考:【ElasticSearch】 elasticsearch-head插件安装(二)

本例通过Elasticsearch-Head插件访问Elasticsearch RESTful API

创建非结构化索引

1、创建索引

# 创建索引
PUT /test 
{
    "settings": {
          "index": {
            "number_of_shards": "2", #分片数
            "number_of_replicas": "0" #副本数 
        }
    } 
}

#删除索引 
DELETE /test 
{
    "acknowledged": true
}