当我在Elasticsearch中插入大型事件时,我收到一个错误:
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将字段分割成单独的标记,所以这是我的索引定义:
{
"index" : {
"analysis" : {
"analyzer" : {
"default" : {
"type" : "keyword"
}
}
}
}
}如何才能让ES接受我的大型事件,同时仍然默认使用关键字分析器?
发布于 2015-10-16 19:56:29
默认情况下,所有字段值都被添加到_ All -field中,由于该字段也使用关键字分析器,因此该字段将包含一个大小为50kB的标记,这有点超出限制。这个限制似乎是不可配置的。
一种解决方案是为该字段指定不同的分析器:
curl -XPUT ${ES_HOST}:${ES_PORT}/${ES_INDEX}/${ES_TYPE}/_mapping -d "
{
"${ES_TYPE}": {
"_all\: { "analyzer": "standard" }
}
}"https://stackoverflow.com/questions/33169924
复制相似问题