管理es索引-使用 Xput创建索引
2024-08-30 02:19:54
curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求。简单的认为是可以在命令行下面访问url的一个工具。在centos的默认库里面是有curl工具的,如果没有请yum安装即可。
curl
-X 指定http的请求方法 有HEAD GET POST PUT DELETE
-d 指定要传输的数据
-H 指定http请求头信息
3.1.1 创建索引
curl -XPUT http://node01:9200/blog01/?pretty
3.1.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.1.3 查询文档
curl -XGET "http://node01:9200/blog01/article/1?pretty" -H "Content-Type: application/json"
3.1.4 更新文档
curl -XPUT http://node01:9200/blog01/article/1?pretty -d '{"id": "1", "title": " What is elasticsearch"}' -H "Content-Type: application/json"
3.1.5 搜索文档
curl -XGET "http://node01:9200/blog01/article/_search?q=title:'elasticsearch'&pretty" -H "Content-Type: application/json"
3.1.6 删除文档
curl -XDELETE "http://node01:9200/blog01/article/1?pretty"
3.1.7 删除索引
curl -XDELETE "http://node01:9200/blog01?pretty"
3.3 返回值说明
3.3.1 Hits
返回结果中最重要的部分是 hits ,它包含 total 字段来表示匹配到的文档总数,并且一个 hits 数组包含所查询结果的前十个文档。
在 hits 数组中每个结果包含文档的 _index 、 _type 、 _id ,加上 _source 字段。这意味着我们可以直接从返回的搜索结果中使用整个文档。这不像其他的搜索引擎,仅仅返回文档的ID,需要你单独去获取文档。
每个结果还有一个 _score ,它衡量了文档与查询的匹配程度。默认情况下,首先返回最相关的文档结果,就是说,返回的文档是按照 _score 降序排列的。在这个例子中,我们没有指定任何查询,故所有的文档具有相同的相关性,因此对所有的结果而言 1 是中性的 _score 。
max_score 值是与查询所匹配文档的 _score 的最大值。
3.3.2 took
took 值告诉我们执行整个搜索请求耗费了多少毫秒
3.3.3 Shard
_shards 部分 告诉我们在查询中参与分片的总数,以及这些分片成功了多少个失败了多少个。正常情况下我们不希望分片失败,但是分片失败是可能发生的。
如果我们遭遇到一种灾难级别的故障,在这个故障中丢失了相同分片的原始数据和副本,那么对这个分片将没有可用副本来对搜索请求作出响应。假若这样,Elasticsearch 将报告这个分片是失败的,但是会继续返回剩余分片的结果。
3.3.4 timeout
timed_out 值告诉我们查询是否超时。默认情况下,搜索请求不会超时。 如果低响应时间比完成结果更重要,你可以指定 timeout 为 10 或者 10ms(10毫秒),或者 1s(1秒):
GET /_search?timeout=10ms
在请求超时之前,Elasticsearch 将会返回已经成功从每个分片获取的结果。
最新文章
- (转)整体把握jQuery -jQuery 的原型关系图
- HDU5739 Fantasia(点双连通分量 + Block Forest Data Structure)
- merge into的用法
- Tomcat error: A child container failed during start
- 数据结构(树套树):ZJOI 2013 K大数查询
- poj3468 线段树+lazy标记
- HashMap,LinkedHashMap,TreeMap的区别(转)
- [Elasticsearch] 集群工作 - 第二部分
- Map笔记
- 《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)
- Python面向对象中的类和对象
- mssql sqlserver text数据类型专题说明
- 什么是 js 变量提升 (Javascript Hoisting)
- Matplotlib学习---用matplotlib画直方图/密度图(histogram, density plot)
- Xstream将XML转换为javabean的问题
- 【总结】牛客职播第十期:程盟有你,way来可期
- Ionic Tabs
- iOS: sqlite数据库的基本操作
- TCP三次握手连接和TCP四次挥手及大量TIME_WAIT解决方法:
- sga之library cache 内部原理
热门文章
- [BZOJ 1535] [Luogu 3426]SZA-Template (KMP+fail树+双向链表)
- Layui数据表格模型
- vim中代码按照行对齐。
- 在.NET Core 3.0中发布单个Exe文件(PublishSingleFile)
- 企业面试题|最常问的MySQL面试题集合(三)
- 剑指offer-5:十进制转二进制
- element样式调整用到的东西
- Linux上安装JDK1.8,tomcat9,以及mysql8的步骤
- php判断变量是否为数字is_numeric()
- Thiago2(TPO AI.ROSTO):集成式AI换脸软件(Autodesk Flame)