• 关于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

  • 相关阅读:
    windows10 ubuntu子系统 WSL文件位置
    cs231n assignment1 KNN
    欧拉计划第五题
    欧拉计划第三题
    梯度下降入门
    Linux交换Esc和Caps
    Python实现bp神经网络识别MNIST数据集
    7-2一元多项式的乘法与加法运算
    Python实现图像直方图均衡化算法
    Python实现图像边缘检测算法
  • 原文地址:https://www.cnblogs.com/kelelipeng/p/12334926.html
Copyright © 2020-2023  润新知