我遇到了一个字段/词条的最大大小问题。
我将字段设置为“未分析”。 如您所知,它的意思是“对该字段建立索引以便可以搜索,但要完全按照指定的值索引。请勿对其进行分析。”并且基础Lucene索引中单个术语的最大大小为32766字节。
当我尝试向我的elasticsearch方法发送超过32766个字节时,该限制有效,并且不接受(例如)40000个字符串。 经过研究,我认为我有两个选择;
1-)继续使用带有“ not_analyzed”的字段,但是使用如下的ignore_above设置。有了它,它现在将接受超过32766字节的内容,但不会使该字段可搜索(如果不是必须可搜索的话。)。
PUT /my_index
{
"mappings": {
"my_type": {
"properties": {
"status_code": {
"type": "string",
"index": "not_analyzed",
"ignore_above": 32766
}
}
}
}
}
2-)将使用“ no”选项标记索引,如下所示。它将接受超过32766个字节,但不会使该字段可搜索或可查询。
PUT /my_index
{
"mappings": {
"my_type": {
"properties": {
"status_code": {
"type": "string",
"index": "no"
}
}
}
}
}
我的问题是
-这些选项是否可以对我的群集产生cpu或内存影响?
-您对此领域的能力还有其他建议吗?
谢谢您的回答。
更新:我使用1.5.2,因此,我不能使用ignore_above。