• elasticsearch _source


    默认地,Elasticsearch 在 _source 字段存储代表文档体的JSON字符串。和所有被存储的字段一样, _source 字段在被写入磁盘之前先会被压缩。
    这个字段的存储几乎总是我们想要的,因为它意味着下面的这些:
    搜索结果包括了整个可用的文档——不需要额外的从另一个的数据仓库来取文档。
    如果没有 _source 字段,部分 update 请求不会生效。
    当你的映射改变时,你需要重新索引你的数据,有了_source字段你可以直接从Elasticsearch这样做,而不必从另一个(通常是速度更慢的)数据仓库取回你的所有文档。
    当你不需要看到整个文档时,单个字段可以从 _source 字段提取和通过 get 或者 search 请求返回。
    调试查询语句更加简单,因为你可以直接看到每个文档包括什么,而不是从一列id猜测它们的内容。
    然而,存储 _source 字段的确要使用磁盘空间。如果上面的原因对你来说没有一个是重要的,你可以用下面的映射禁用 _source 字段:

    PUT /my_index
    {
        "mappings": {
            "my_type": {
                "_source": {
                    "enabled":  false
                }
            }
        }
    }

    在一个搜索请求里,你可以通过在请求体中指定 _source 参数,来达到只获取特定的字段的效果:

    GET /_search
    {
        "query":   { "match_all": {}},
        "_source": [ "title", "created" ]
    }
  • 相关阅读:
    C++自定义一个foreach宏,偷偷懒
    线程池介绍与示例
    iOS消息中心与传感
    new 和 malloc 申请内存失败的区别处理
    iOS调试技巧——当程序崩溃的时候怎么办
    随机数原理
    iOS麦克风运用——腾讯微博“吹一吹”
    个人技术博客
    SDN第一次作业
    GitKraken 团队项目使用教程
  • 原文地址:https://www.cnblogs.com/gavinYang/p/11199883.html
Copyright © 2020-2023  润新知