• 管理es索引-使用 Xput创建索引


    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 将会返回已经成功从每个分片获取的结果。

     

  • 相关阅读:
    用Python写一个简单的包
    一个可以查询汽车销量、阅读产业报告和资讯的网站
    Java报错原因汇总
    jvisualvm远程监控Tomcat
    Tomcat内存优化
    每天一个linux命令(41):ps命令
    linux grep命令
    show processlist结果筛选(转)
    微服务、SOA 和 API对比与分析
    Java远程通讯技术及原理分析
  • 原文地址:https://www.cnblogs.com/niutao/p/10908824.html
Copyright © 2020-2023  润新知