愚者求师之过,智者从师之长。

怎么处理大字符串(长度大于32766)的存储问题?(已解决——2015-02-26 10:41:50)

Elasticsearch | 作者 Abyss | 发布于2015年02月15日 | 阅读数:8659

有个mapping里面有个分词的字段content,用来存储文章的正文。但是经常会碰到一个问题:文章正文长度过大,导致ES报错。总是提示超过32766。
请问有没有什么比较好的办法??

————————————————————————
问题补充:
content是要用于搜索查询的,因此如果截取的话就没意义了。

————————————————————————
问题原因:
没有正确理解分词/不分词概念~

————————————————————————
解决方案:
对于要检索的大文本字段,不使用not_analyzed字段。

原mapping:
{
"content": {
"index": "not_analyzed",
"type": "string",
"fields": {
"analyzed_content": {
"index_analyzer": "index_ansj",
"search_analyzer": "query_ansj",
"type": "string"
}
}
}
}

修改后mapping:
{
"content": {
"index_analyzer": "index_ansj",
"search_analyzer": "query_ansj",
"type": "string"
}
已邀请:

rockybean - Elastic Certified Engineer, ElasticStack Fans,公众号:ElasticTalk

赞同来自: stab

这个问题应该是没有正确分词导致的,是不是报了immense term的错误,可以参见[这篇文章](http://rockybean.info/2015/02/ ... eption)

要回复问题请先登录注册