• Elasticsearch-基本操作1



    Elasticsearch版本:6.0


    一、文档

    一个文档不仅包含数据,也包含元数据,三个必须的元数据如下

    _index:具有共同特性分到一起的文档集合,标示了文档的存放位置;

        名字小写,不以下划线开头,不包含逗号。

    _type:表示文档的类型,在索引中对数据进行逻辑分区;

        名字大写或小写,不以下划线或句号开头,不包含逗号,并且长度限制256个字符。

    _id:文档的唯一标识,和_index和_type组合可以唯一确定Elasticsearch中的一个文档;

        可以自定义id值,或者由Elasticsearch来生成。

    二、Rest风格

    PUT /{index}/{type}/{id}
    {
      "field": "value"
    }

    POST:创建,不指定id时,Elasticsearch自动生成id,指定id时,如果文档存在,会返回409 Conflict;

    PUT:可以创建/更新文档,更新时,旧文档被标记为删除,增加新文档,Elasticsearch后台清理这些标记删除的文档;

    GET:搜索文档;

    DELETE:删除文档,实际上是在.del文件中被标记删除,被删除的文档仍然可以被查询匹配到,但是它会在最终结果被返回前从结果集移除,更新操作类似;


    部分更新文档

        使用PUT整个更新文档时,需要检索并修改,再重新索引整个文档,而使用update API可以部分更行文档,需要用POST /_update操作,实际上它在内部依然进行了检索-修改-重建索引的过程,但是这个过程是发生在分片内部的,避免多次请求的网络开销。

    三、搜索结果

    1、hits:包含total字段表示匹配到的文档总数;

        包含_index、_type、_id、_source字段,标记整个文档信息;

        _score字段表示文档和查询的匹配程度,搜索结果默认按照_score降序排序;

        max_score是_score的最大值;

    2、took:执行整个搜索消耗了多少毫秒;

    3、_shards:查询中参与分片的总数,以及分别成功和失败了多少个;

    4、timed_out:查询是否超时true/false;


    Elasticsearch默认查询分页,默认返回十条数据,可以指定分页参数

        size:返回的结果数量,默认10

        from:页数,默认0


    分页的问题

        Elasticsearch是分布式的,分页时会从各个分片产生结果集,最后汇总到协调节点重新排序获得结果集,对多余的结果进行抛弃,所以一般查询不要超过1000个结果。

  • 相关阅读:
    hdu 3415 Max Sum of MaxKsubsequence
    poj 2243 Knight Moves
    【LCD手册】飞凌3.5/4.3/5.6/7/8 寸LCD手册大全下载
    【转载zq2002好文章】Windows CE 休眠唤醒全面解析(基于2440平台)(1)(2)(3)
    【转载】如果做到窗口自动适应不同尺寸屏幕的尺寸?
    【转载】wince6.0+s3c6410摄像头驱动修改
    推荐一个比较活跃的ARM/WinCE/LinuxQQ群
    【转载】微软的USB摄像头驱动,
    【收集】ARM+WinCE QQ 群
    【转载】S3C6410移植日记系列
  • 原文地址:https://www.cnblogs.com/bigshark/p/7905983.html
Copyright © 2020-2023  润新知