搜索引擎ElasticSearch18_ElasticSearch的客户端操作2
实际开发中,主要有三种方式可以作为elasticsearch服务的客户端:
- 第一种,elasticsearch-head插件
- 第二种,使用elasticsearch提供的Restful接口直接访问
- 第三种,使用elasticsearch提供的API进行访问
一、安装Postman工具
Postman中文版是postman这款强大网页调试工具的windows客户端,提供功能强大的Web API & HTTP 请求调 试。软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。Postman中文版能够发送任何类型的 HTTP 请求 (GET, HEAD, POST, PUT..),且可以附带任何数量的参数。
二、下载Postman工具
Postman官网:https://www.getpostman.com 课程资料中已经提供了安装包:Postman-win64-6.0.10-Setup.exe
三、注册Postman工具
四、使用Postman工具进行Restful接口访问
1、ElasticSearch的接口语法
curl ‐X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' ‐d '<BODY>'
其中:
2、创建索引index和映射mapping
请求url:
PUT http://localhost:9200/blog1
请求体:
{
"mappings": {
"article": {
"properties": {
"id": {
"type": "long",
"store": true,
"index":"not_analyzed"
},
"title": {
"type": "text",
"store": true,
"index":"analyzed",
"analyzer":"standard"
},
"content": {
"type": "text",
"store": true,
"index":"analyzed",
"analyzer":"standard"
}
}
}
}
}
postman截图:
elasticsearch-head查看:
使用head在索引库中创建索引和映射:
3、创建索引后设置Mapping
我们可以在创建索引时设置mapping信息,当然也可以先创建索引然后再设置mapping。
在上一个步骤中不设置maping信息,直接使用put方法创建一个索引,然后设置mapping信息。
请求的url:
POST http://127.0.0.1:9200/blog2/hello/_mapping
请求体:
POST http://127.0.0.1:9200/blog2/hello/_mapping
{
"hello": {
"properties": {
"id":{
"type":"long",
"store":true
},
"title":{
"type":"text",
"store":true,
"index":true,
"analyzer":"standard"
},
"content":{
"type":"text",
"store":true,
"index":true,
"analyzer":"standard"
}
}
}
}
PostMan截图
elasticsearch-head查看:
4、删除索引index
请求url:
DELETE localhost:9200/blog1
postman截图:
elasticsearch-head查看:
5、创建文档document
请求url:
POST localhost:9200/blog1/article/1
url中最后的1是文档id,不写会自动生成一个唯一的文档id。
请求体:
{
"id":1,
"title":"ElasticSearch是一个基于Lucene的搜索服务器",
"content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。"
}
postman截图:
elasticsearch-head查看:
使用head向索引库中添加文档
6、修改文档document
请求url:
POST localhost:9200/blog1/article/1
请求体:
{
"id":1,
"title":"【修改】ElasticSearch是一个基于Lucene的搜索服务器",
"content":"【修改】它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。"
}
postman截图:
elasticsearch-head查看:
7、删除文档document
请求url:
DELETE localhost:9200/blog1/article/1
postman截图:
elasticsearch-head查看:
使用head在索引库中删除文档
8、查询文档-根据id查询
请求url:
GET localhost:9200/blog1/article/1
postman截图:
9、查询文档-querystring查询
请求url:
POST localhost:9200/blog1/article/_search
请求体:
{
"query": {
"query_string": {
"default_field": "title",
"query": "搜索服务器"
}
}
}
postman截图:
注意:将搜索内容"搜索服务器"修改为"钢索",同样也能搜索到文档,因为是把query先进行分词,然后进行查询的。
{
"query": {
"query_string": {
"default_field": "title",
"query": "钢索"
}
}
}
10、查询文档-term关键词查询
请求url:
POST localhost:9200/blog1/article/_search
请求体:
{
"query": {
"term": {
"title": "搜索"
}
}
}
postman截图:
因为搜索是标准分析器,中文只能是一个汉字是一个关键词,例如查询title为“搜”的关键字
11、使用head插件查询索引库
1. 查询索引库
2. 根据id查询
3. 根据关键词查询
4. querystring查询