Elasticsearch 怎么管理索引?
Posted Shockang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch 怎么管理索引?相关的知识,希望对你有一定的参考价值。
前言
本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!
本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系
正文
curl
curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求。
简单的认为是可以在命令行下面访问url的一个工具。
在centos的默认库里面是有curl工具的,如果没有请yum安装即可。
curl
-X 指定http的请求方法 有HEAD GET POST PUT DELETE
-d 指定要传输的数据
-H 指定http请求头信息
1、创建索引
在我们的kibana的dev tools当中执行以下语句
curl -XPUT http://node01:9200/blog01/?pretty
2、插入文档
前面的命令使用 PUT 动词将一个文档添加到 /article(文档类型),并为该文档分配 ID 为1。URL 路径显示为index/doctype/ID(索引/文档类型/ID)。
curl -XPUT http://node01:9200/blog01/article/1?pretty -d '{"id": "1", "title": "What is lucene"}'
问题
Content-Type header [application/x-www-form-urlencoded] is not supported
解决
curl -XPUT http://node01:9200/blog01/article/1?pretty -d '{"id": "1", "title": "What is lucene"}' -H "Content-Type: application/json"
原因
此原因时由于ES增加了安全机制, 进行严格的内容类型检查,严格检查内容类型也可以作为防止跨站点请求伪造攻击的一层保护。
官网解释 http.content_type.required
3、查询文档
curl -XGET http://node01:9200/blog01/article/1?pretty
问题
Content-Type header [application/x-www-form-urlencoded] is not supported
解决
curl -XPUT http://node01:9200/blog01/article/1?pretty -d '{"id": "1", "title": "What is lucene"}' -H "Content-Type: application/json"
curl -XGET http://node01:9200/blog01/article/1?pretty -H "Content-Type: application/json"
4、更新文档
curl -XPUT http://node01:9200/blog01/article/1?pretty -d '{"id": "1", "title": " What is elasticsearch"}'
问题
Content-Type header [application/x-www-form-urlencoded] is not supported
解决
curl -XPUT http://node01:9200/blog01/article/1?pretty -d '{"id": "1", "title": " What is elasticsearch"}' -H "Content-Type: application/json"
5、搜索文档
curl -XGET "http://node01:9200/blog01/article/_search?q=title:elasticsearch"
问题
Content-Type header [application/x-www-form-urlencoded] is not supported
解决
curl -XGET "http://node01:9200/blog01/article/_search?q=title:'elasticsearch'&pretty" -H "Content-Type: application/json"
6、删除文档
curl -XDELETE "http://node01:9200/blog01/article/1?pretty"
7、删除索引
curl -XDELETE http://node01:9200/blog01?pretty
以上是关于Elasticsearch 怎么管理索引?的主要内容,如果未能解决你的问题,请参考以下文章