RESTFul操作索引

 RESTFul操作索引

1 目标

  • 了解什么是RESTFul
  • 会使用Postman工具
  • 能使用Postman工具操作索引

2 讲解

2.1 RESFFul介绍

什么是restful?

传统方式:


URL                                        服务器上资源
http://localhsot:8080/save                访问的资源save();
http://localhsot:8080/update              访问的资源update();
http://localhsot:8080/delete              访问的资源delete();
http://localhsot:8080/find                访问的资源find();

Restful:表现层状态转移


HTTP的请求状态                URI                                  服务器上资源
Http的协议POST              http://localhsot:8080/list          访问的资源save();
Http的协议PUT               http://localhsot:8080/list          访问的资源update();
Http的协议DELETE            http://localhsot:8080/list          访问的资源delete();
Http的协议GET               http://localhsot:8080/list          访问的资源find();

2.2 安装Postman工具

Postman中文版是postman这款强大网页调试工具的windows客户端,提供功能强大的Web API & HTTP 请求调试。软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。Postman中文版能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT,DELETE..),且可以附带任何数量的参数。

下载Postman工具

Postman官网:https://www.getpostman.com

课程资料中已经提供了安装包

RESTFul操作索引_第1张图片

双击安装完成后需要自行注册一个账号,这里就不演示了。

6.2.3 使用Postman工具进行Restful接口访问

ElasticSearch的接口语法

curl -X '://:/?' -d ''

案例:


curl -XPUT http://localhost:9200/blog/article/1 -d '{"title": "New version of
Elasticsearch released!", content": "Version 1.0 released today!", "tags": ["announce",
"elasticsearch", "release"] }'

参数解释如下:

参数 解释
VERB  适当的 HTTP 方法 或 谓词 : GET、 POST、 PUT、 HEAD 或者 DELETE。 
PROTOCOL  http 或者 https(如果你在 Elasticsearch 前面有一个 https 代理) 
HOST  Elasticsearch 集群中任意节点的主机名,或者用 localhost 代表本地机器上的节点。 
PORT  运行 Elasticsearch HTTP 服务的端口号,默认是 9200 。 
PATH  API 的终端路径(例如 _count 将返回集群中文档数量)。Path 可能包含多个组件,例如:_cluster/stats 和 _nodes/stats/jvm 。 |
| QUERY_STRING | 任意可选的查询字符串参数 (例如 ?pretty 将格式化地输出 JSON 返回值,使其更容易阅读) |
| BODY | 一个 JSON 格式的请求体 (如果请求需要的话) |

(1)创建映射

请求URL:

PUT     http://localhost:9200/blog2

请求体:


{
    "mappings": {
		"article": {
			"properties": {
				"id": {
					"type": "long",
					"store": false,
					"index":"not_analyzed"
				},
				"title": {
					"type": "text",
					"store": false,
					"index":"analyzed",
					"analyzer":"ik_smart"
				},
				"content": {
					"type": "text",
					"store": false,
					"index":"analyzed",
					"analyzer":"ik_smart"
				}
			}
		}
	}
}

注意:

“analyzer”:“standard”:表示单字分词(默认值)

“analyzer”:“ik_smart”:使用ik分词器(ik的最小切分)

“store”: true:表示是否存储,只有存储到索引库,才能检索到结果(Elasticsearch的默认值flase)

关键字高亮实质上是根据倒排记录中的词项偏移位置,找到关键词,加上前端的高亮代码。这里就要说到store属性,store属性用于指定是否将原始字段写入索引,默认取值为no。如果在Lucene中,高亮功能和store属性是否存储息息相关,因为需要根据偏移位置到原始文档中找到关键字才能加上高亮的片段。在Elasticsearch,因为_source中已经存储了一份原始文档,可以根据_source中的原始文档实现高亮,在索引中再存储原始文档就多余了,所以Elasticsearch默认是把store属性设置为no。

示例如下:

RESTFul操作索引_第2张图片

Elasticsearch-head

RESTFul操作索引_第3张图片

(2)删除索引

请求URL

DELETE      http://localhost:9200/blog2

Postman如下:

RESTFul操作索引_第4张图片

elasticsearch-head查看:

RESTFul操作索引_第5张图片

(3)创建文档document

把上面的映射重新创建一次,然后再执行创建文档

创建文档URL:

POST    http://localhost:9200/blog2/article/1

请求体数据:


{
"id":1,
"title":"ElasticSearch是一个基于Lucene的搜索服务器",
"content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够时搜索。"
}

Postman如下:

RESTFul操作索引_第6张图片

elasticsearch-head查看:

RESTFul操作索引_第7张图片

(4)修改文档对象Document

请求URL:

http://localhost:9200/blog2/article/1

请求体:


{
"id":1,
"title":"ElasticSearch是一个基于Lucene的搜索服务器-深圳黑马训练营",
"content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够时搜索。"
}

Postman如下:

RESTFul操作索引_第8张图片

elasticsearch-head查看:

RESTFul操作索引_第9张图片

(5)删除文档Document

请求URL:

DELETE    http://localhost:9200/blog2/article/1

Postman如下:

RESTFul操作索引_第10张图片

(6)查询文档-根据id查询

请求URL:

GET      http://localhost:9200/blog2/article/1

Postman如下:

RESTFul操作索引_第11张图片

(7)查询文档-querystring查询

请求url:

POST       http://localhost:9200/blog2/article/_search

请求体:


{
	"query": {
		"query_string": {
			"default_field": "title",
			"query": "搜索服务器"
		}
	}
}

Postman如下:

RESTFul操作索引_第12张图片

(8)查询文档-term查询

请求URL:

POST     http://localhost:9200/blog2/article/_search

请求体:


{
	"query": {
		"term": {
			"title": "搜索"
		}
	}
}

Postman如下:

RESTFul操作索引_第13张图片

6.3 小结

  • 了解什么是RESTFul

properties
  RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

 

  • 能使用Postman工具操作索引

properties
  使用Postman可以创建索引映射、删除索引映射、根据ID查询索引数据、删除索引数据、字符串查找数据、词项查找数据等。

你可能感兴趣的:(Elasticsearch)