首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Elasticsearch中插入大型事件失败

问在Elasticsearch中插入大型事件失败
EN

Stack Overflow用户
提问于 2015-10-16 19:56:29
回答 1查看 570关注 0票数 2

当我在Elasticsearch中插入大型事件时,我收到一个错误:

代码语言:javascript
复制
java.lang.IllegalArgumentException: Document contains at least one immense term in field="_all" (whose UTF8 encoding is longer than the max length 32766), all of which were skipped.  Please correct the analyzer to not produce such terms.  The prefix of the first immense term is: '[<skipped>]...', original message: bytes can be at most 32766 in length; got 53021

我使用关键字分析器,因为我不想让ES将字段分割成单独的标记,所以这是我的索引定义:

代码语言:javascript
复制
{
      "index" : {
          "analysis" : {
              "analyzer" : {
                  "default" : {
                      "type" : "keyword"
                  }
              }
          }
      }
  }

如何才能让ES接受我的大型事件,同时仍然默认使用关键字分析器?

EN

回答 1

Stack Overflow用户

发布于 2015-10-16 19:56:29

默认情况下,所有字段值都被添加到_ All -field中,由于该字段也使用关键字分析器,因此该字段将包含一个大小为50kB的标记,这有点超出限制。这个限制似乎是不可配置的。

一种解决方案是为该字段指定不同的分析器:

代码语言:javascript
复制
  curl -XPUT ${ES_HOST}:${ES_PORT}/${ES_INDEX}/${ES_TYPE}/_mapping  -d "
  {
      "${ES_TYPE}": {
          "_all\: { "analyzer": "standard" }
      }
  }"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33169924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档