zoukankan      html  css  js  c++  java
  • elasticsearch报Fielddata is disabled on text fields by default

    我刚玩elk没几天,今天启动kibana之后执行查询看见elasticsearch报了一个错误

    Caused by: java.lang.IllegalArgumentException: Fielddata is disabled on text fields by default. Set fielddata=true on [type] in order to load fielddata in memory by uninverting the inverted index. Not

    e that this can however use significant memory. Alternatively use a keyword field instead.

    刚发现这个错误的时候有点迷茫,这什么错误,怎么会报这个错误,怎么解决?

    经过漫长的时间终于找到了答案,长话短说就是

    Elasticsearch 5.x版本以后,对排序和聚合等操作,用单独的数据结构(fielddata)缓存到内存里了默认是不开启的需要单独开启

    更详细的解释参考elasticsearch官方文档  fielddata

    解决方案:

    PUT you_index/_mapping/
    {
      "properties": {
        "you_field": {
          "type": "text",
          "fielddata": true
        }
      }
    }

    执行完Kibana控制台显示下面信息则成功

    路漫漫其修远兮,吾将上下而求索
  • 相关阅读:
    通用Logging框架设计
    slf4j 与各个 logging框架的适配器说明
    优雅的使用Spring
    Python : 反射
    Python: Tools
    Python : Class
    Python : Module
    Python 入门:基本语法
    docker:版本变更
    Linux: yum配置说明
  • 原文地址:https://www.cnblogs.com/zhangchu/p/11163573.html
Copyright © 2011-2022 走看看