Elasticsearch入门----索引库相关操作

    在上一篇博客(https://blog.csdn.net/qq_28757391/article/details/103749623)中,我们介绍了如何安装启动Elasticsearch,接下来我们介绍如何创建索引库以及一些基础知识。

概念介绍

    首先介绍Elasticsearch的一些基本概念,如下表:

概念说明
索引库(indices)indices是index的复数,代表许多的索引。索引库类似Mysql中的数据库。
类型(type)类型类似Mysql中的表(table)概念,一个索引库下可以有不同类型的索引,比如商品索引,订单索引,其数据格式不同。
文档(document)存入索引库原始的数据。比如每一条商品信息,就是一个文档。类似Mysql中的表记录。
字段(field)文档中的属性。类似Mysql中的表字段。
映射配置(mappings)映射配置(mappings)用来描述字段的数据类型、属性、是否索引、是否存储等特性。类似Mysql中的表结构设计。
分片(shard)一般一个index包含多个shard。每个shard都是一个最小单元,存储部分数据;每个分片都是一个lucene实例,有完整的建立索引和处理请求的能力。分片克分为主分片和副分片。

创建索引库

    1、我们利用Elasticsearch提供的restful接口,通过向接口发送http请求的方式进行索引库创建。

PUT     http://IP:9200/索引名

{
    "settings": {
        "number_of_shards": 5,            //主分片数
        "number_of_replicas": 0           //副本分片数
    }
}

    2、同样通过向接口发送http请求的方式进行类型的创建。

POST   http://IP:9200/索引名/类型名/_mapping

{
  "类型名": {
    "properties": {
      "name": {               
        "type": "keyword"
      },
      "age": {
        "type": "integer"
      },
      "address": {
        "type": "text"
      },
      "score": {
        "type": "float"
      }
    }
  }
}

//这里我定义了四个字段,分别是name、age、address、score,它们具有不同的数据类型,就像Mysql中可以定义不同的数据类型的字段一样。
想深入了解Elasticsearch支持的数据类型的可以看这篇文章:https://www.jianshu.com/p/01f489c46c38

通过这两步就完成了索引库创建。接下来我们往创建好的索引库中插入数据。

插入数据

POST    http://IP:9200/索引名/类型名/

{
	"name": "张三",
	"address": "杭州市西湖区",
	"age": 22,
	"score": 97.0
}

这样我们便往创建的索引库插入了一条数据。

查看数据

GET    http://IP:9200/索引名/类型名/_search?from=0&&size=10   //from和size为分页参数

返回的数据格式如下:

{
	"took": 3,
	"timed_out": false,
	"_shards": {
		"total": 3,
		"successful": 3,
		"skipped": 0,
		"failed": 0
	},
	"hits": {
		"total": 3,
		"max_score": 1.0,
		"hits": [
			{
				"_index": "test",
				"_type": "test",
				"_id": "fBm9Q3EBTc43B2jFangd",
				"_score": 1.0,
				"_source": {
					"name": "王五",
					"address": "杭州市余杭区",
					"age": 26,
					"score": 90.5
				}
			},
			{
				"_index": "test",
				"_type": "test",
				"_id": "fRnEQ3EBTc43B2jFdXjd",
				"_score": 1.0,
				"_source": {
					"name": "李四",
					"address": "杭州市江干区",
					"age": 25,
					"score": 94.0
				}
			},
			{
				"_index": "test",
				"_type": "test",
				"_id": "fhnFQ3EBTc43B2jFtnhd",
				"_score": 1.0,
				"_source": {
					"name": "张三",
					"address": "杭州市西湖区",
					"age": 28,
					"score": 97.0
				}
			}
		]
	}
}

清空索引库数据

POST    http://IP:9200/索引名/类型名/_delete_by_query

{
  "query": {
    "match_all": {}
  }
}

批量删除索引库数据

POST    http://IP:9200/索引名/类型名/_delete_by_query

{
  "query": {
   "match": {
      "name": "张三"
    }
  }
}

删除索引库

DELETE    http://IP:9200/索引名

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值