niceyoo博客 niceyoo博客

Fielddata is disabled on text fields by default. Set fielddata=true on [XXX] in order to load fielddata in memory by uninverting the inverted index.

in Tools 文章转载请注明来源!

报错信息:

Fielddata is disabled on text fields by default. Set fielddata=true on [createTime] 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.

翻译如下:

默认情况下在文本字段中禁用 Fielddata。在字段 [createTime] 上设置 fielddata=true,以便通过不反转反转索引将 fielddata 加载到内存中。注意,这可能会使用大量内存,或者使用关键字 [keyWord] 字段代替。

报错原因:

ElasticSearch 5.x 版本之后将 String 类型去掉了,以 text 和 keyWord 代替。

官方解释如下:https://www.elastic.co/guide/en/elasticsearch/reference/current/fielddata.html

如何解决:

PUT 你的index/_mapping/你的type/
{
  "properties": {
    "你的字段": { 
      "type":     "text或keyWord",
      "fielddata": true
    }
  }
}

修改报错中提到的字段类型,修改为 text 或 keyWord。以 createTime 字段为例:

PUT 我的index/_mapping/我的type/
{
  "properties": {
    "createTime": { 
      "type":     "text",
      "fielddata": true
    }
  }
}

本文首发于博客园:https://www.cnblogs.com/niceyoo/p/14115305.html

jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

本文基于《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
文章链接:http://sscai.club/index.php/archives/149/ (转载时请注明本文出处及文章链接)

Tools
发表新评论
前篇 后篇
雷姆
拉姆