全文搜索ElastacSearch笔记(1)-简单增删改查

在之前的文章,我搭建了一个分布式的ElasticSearch环境,版本是2.2.4的。最近开始学习了ES,因为选择的版本有点低,以下的所有笔记都是基于ES2.2.4撰写。

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。简单的认识之后,直接进入主题。

一、创建索引

1、创建索引可以在head插件中新建索引,也可以通过postman使用语句创建,创建的时候,索引名是小写的英文名,而且不能使用下划线。索引分为两种,一种是非结构化索引,一种是结构化索引,在ES,mappings就是判断索引是结构化还是非结构化索引的标识,如果mappings的内容是空的,则这个索引就是非结构化索引,反之,该索引就是结构化索引。

以下是在postman中创建索引代码:


二、插入数据

        1、插入分为两种,一种是指定文档ID插入,另外一种是自动产生文档ID插入。在postman工具中使用PUT向ES中插入数据。

        2、指定文档ID插入


在head插件可以看到mybook的docs的值已经不是0,点击数据浏览,选择mybook索引可以查看刚刚添加的内容,如下图:


        3、自动产生文档ID插入

    自动产生文档ID插入和指定文档插入区别就在于在URL中不指定id的值,ES会自动创建一串字符串作为ID,而且,指定文档插入使用的是PUT请求,而自动产生ID插入只能使用POST插入。以下是主要代码:


三、修改文档数据

        修改有两种,一是直接修改文档,另外一种是脚本修改文档,请求的URL是:http://<ip>:<port>/<index>/<id>/_update,并且使用POST请求。

        1、指定文档ID方式修改


     四、删除

        删除操作比较简单,在postman中使用DELETE请求,在URL中指定需要删除的是哪一个索引的哪一个类型下的哪一个id的内容即可,下面我删除id为1的数据:


五、查找

ES的查询分为简单查询、条件查询、聚合查询

    1、简单查询

    

    简单查询使用GET请求即可。

    2、条件查询


    3、聚合查询

    聚合查询使用aggs关键词,以下是我对价格字段的聚合:

{
	"aggs":{--使用aggs关键词
		"my_price":{--这个名词随便起
			"terms":{--使用terms关键词
				"field":"price"--聚合字段
			}
		}
	}
	
}

结果返回是:


    上面使用的是单个聚合,也可以多个聚合哦!看代码:

{
	"aggs":{
		"my_price":{
			"terms":{
				"field":"price"
			}
		},
		"theauthor":{
			"terms":{
				"field":"author"
			}
		}
	}
	
}

结果是:


学习了ES后,做一次笔记,感觉印象深刻多了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值