使用Postman工具进行Restful接口访问
ElasticSearch的接口语法
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'其中:
| 参数 | 解释 |
| -------------- | ---------------------------------------- |
| `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 格式的请求体 (如果请求需要的话) |创建索引index和映射mapping
PUT 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"
}
}
}
}
}
这样我们就在es中定义好了一个索引库,并且配置了一个mapping

给已创建的index添加mapping
使用 POST 命令,给 hello 这个type添加 mapping
POST http://127.0.0.1:9200/blog/hello/_mappings请求体为:
{
"hello": {
"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"
}
}
}
}
这样我们就在es中为blog索引库配置了一个mapping

在elasticsearch-head-master中也可以做相应PUT和POST操作



删除索引index
DELETE localhost:9200/blog2

添加文档
POST localhost:9200/blog1/article/1请全体
{
"id":1,
"title":"ElasticSearch是一个基于Lucene的搜索服务器",
"content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。"
}
注意
路径中最后的1指定了生成的文档的真正的id,如果未设置,则es自动生成一个uuid,对文档的增删改查就是要用这个_id
请全体中的id是我们数据中的一个字段

如果我们未指定_id,则自动生成


修改文档
POST localhost:9200/blog1/article/1请求体
{
"id":1,
"title":"【修改】ElasticSearch是一个基于Lucene的搜索服务器",
"content":"【修改】它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。"
}

删除文档document
DELETE localhost:9200/blog1/article/1

查询文档

根据id查询
GET localhost:9200/blog1/article/1
term查询
POST localhost:9200/blog1/article/_search请全体
{
"query": {
"term": {
"title": "为什么"
}
}
}
因为分词的时候使用的是标准分析器,标准分析器是基于单个汉字进行分词的,因此关键词为多个汉字的词语进行查询的时候没有结果,如果使用单个汉字作为查询条件可以查到结果

querystring查询
POST localhost:9200/blog1/article/_search请全体
{
"query":{
"query_string":{
"default_field":"title",
"query":"为什么"
}
}
}
会先根据字符串进行分词,将得到的所有关键词进行查询

标准分词器分词效果测试:
http://127.0.0.1:9200/_analyze?analyzer=standard&pretty=true&text=我是程序员
使用es-head进行查询


本文介绍了如何使用Postman工具进行Elasticsearch的Restful接口操作,包括创建索引、配置mapping、添加文档、修改、删除和查询文档。特别讨论了标准分析器对关键词分词的影响及其在查询时的注意事项。
使用Restful风格操作es索引库&spm=1001.2101.3001.5002&articleId=112350109&d=1&t=3&u=4a1158e421ab456a8100ed2caafb40d4)
264

被折叠的 条评论
为什么被折叠?



