zoukankan      html  css  js  c++  java
  • 关于ElasticSearch的聚类时出现fielddata=true问题

    https://blog.csdn.net/baristas/article/details/78974090

     
    在ElasticSearch中默认fielddata默认是false的,因为开启Text的fielddata后对内存的占用很高
    index:megacorp
    type:employee

    如果进行聚合查询时候:

    GET /megacorp/employee/_search
    {
    "aggs": {
    "all_interests": {
    "terms": { "field": "interests" }
    }
    }


    返回错误码:

    {
    "error" : {
    "root_cause" : [
    {
    "type" : "illegal_argument_exception",
    "reason" : "Fielddata is disabled on text fields by default. Set fielddata=true on [interests] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."
    }
    ],
    "type" : "search_phase_execution_exception",
    "reason" : "all shards failed",
    "phase" : "query",
    "grouped" : true,
    "failed_shards" : [
    {
    "shard" : 0,
    "index" : "megacorp",
    "node" : "hDWX06IlTiu7gK3ybmsb-g",
    "reason" : {
    "type" : "illegal_argument_exception",
    "reason" : "Fielddata is disabled on text fields by default. Set fielddata=true on [interests] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."
    }
    }
    ]
    },
    "status" : 400


    提示:fielddata=true未开启
    此时需要做的是:

    curl -i -H "Content-Type:application/json" -XPUT 127.0.0.1:9200/your_index/_mapping/your_type/?pretty -d'{"your_type":{"properties":{"your_field_name":{"type":"text","fielddata":true}}}}'
    1
    curl -i -H "Content-Type:application/json" -XPUT 127.0.0.1:9200/megacorp/_mapping/employee/?pretty -d'{"employee":{"properties":{"interests":{"type":"text","fielddata":true}}}}'
    1
    interests指的是需要开启fielddata的field

    此时再进行测试

    "aggregations" : {
    "all_interests" : {
    "doc_count_error_upper_bound" : 0,
    "sum_other_doc_count" : 0,
    "buckets" : [
    {
    "key" : "music",
    "doc_count" : 2
    },
    {
    "key" : "forestry",
    "doc_count" : 1
    },
    {
    "key" : "sports",
    "doc_count" : 1
    }
    ]

    就可以看出根据interests来进行聚类的查询结果,在这里就可以根据结果进行兴趣分析等
    ————————————————
    原文链接:https://blog.csdn.net/baristas/article/details/78974090

  • 相关阅读:
    [HAOI2015]树上操作(树链剖分)
    树链剖分——解决树上路径问题利器
    [CodeForces 833B] The Bakery(数据结构优化dp)
    [国家集训队]最长双回文串(马拉车)
    [国家集训队]拉拉队排练(Manacher)
    【ATcoder】AtCoder Beginner Contest 159 题解
    蒟蒻的数列[BZOJ4636](线段树)
    Manacher马拉车算法——解决最长回文子串问题
    HDU 1501 Zipper (记忆化搜索)
    HDU 1428 漫步校园 (dfs+记忆化搜索dfs)
  • 原文地址:https://www.cnblogs.com/kelelipeng/p/12334926.html
Copyright © 2011-2022 走看看