elasticsearch,keyword,maxlength,Java,elasticsearch,Keyword,Maxlength" /> elasticsearch,keyword,maxlength,Java,elasticsearch,Keyword,Maxlength" />

Java 无法将关键字文本字段长度存储在32766以上

Java 无法将关键字文本字段长度存储在32766以上,java,elasticsearch,keyword,maxlength,Java,elasticsearch,Keyword,Maxlength,我一直试图将字段存储为type关键字,以支持区分大小写的文本搜索 但是,当我试图存储长度超过32766个字符的文本时,它无法存储它,出现以下异常 Elasticsearch exception [type=illegal_argument_exception, reason=Document contains at least one immense term in field="case_message_message.lowcase" (whose UTF8 encoding is

我一直试图将字段存储为type关键字,以支持区分大小写的文本搜索

但是,当我试图存储长度超过32766个字符的文本时,它无法存储它,出现以下异常

    Elasticsearch exception [type=illegal_argument_exception, reason=Document contains at least one immense term in field="case_message_message.lowcase" (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: '[-32, -80, -84, -32, -79, -122, -32, -80, -126, -32, -80, -105, -32, -80, -77, -32, -79, -126, -32, -80, -80, -32, -79, -127, 58, 32, -32, -80, -107, -32]...', original message: bytes can be at most 32766 in length; got 37632]
有没有办法将文本存储在32766以上

弹性搜索版本6.1.2

非常感谢您的帮助

更新1:

这是我的索引的映射,我使用了一个自定义规范化器,也使用了规范化器

{
   "org-16-database": {
      "mappings": {
         "org-16-table": {
            "properties": {
               "My field": {
                  "type": "text",
                  "fields": {
                     "keyword": {
                        "type": "keyword"
                     },
                     "lowcase": {
                        "type": "keyword",
                        "normalizer": "my_normalizer"
                     }
                  },
                  "fielddata": true
               }
            }
         }
      }
   }
}
背景

    {
       "org-16-database": {
          "settings": {
             "index": {
                "number_of_shards": "5",
                "provided_name": "org-16-database",
                "creation_date": "1521198435444",
                "analysis": {
                   "normalizer": {
                      "my_normalizer": {
                         "filter": [
                            "lowercase"
                         ],
                         "type": "custom"
                      }
                   }
                },
                "number_of_replicas": "1",
                "uuid": "lN-7iYloQWy7oaD3uMIYGQ",
                "version": {
                   "created": "6010299"
                }
             }
          }
       }
    }

你能试试长度标记过滤器吗


Vist:

如创建新关键字字段时在中所述,默认情况下,通过上面的参数ignore_启用。此选项对于防止Lucene的术语字节长度限制32766也很有用。您可以通过修改映射来增加此限制,而无需重新索引。允许的最大值为10922

您是否尝试使用类型
关键字
是我使用类型作为关键字来存储文本字段@VijayakumarI已粘贴下面的链接。你能试试吗@Raviteja GannojuCan您可以发布您的索引设置。这将有助于缩小问题的范围。我已经更新了我的问题以及我的mapping@VijayakumarI我不想对字段进行标记化,但我必须增加字段的大小如果我使用标记化,则startswith和endswith将不起作用。当您说
时,您可以通过修改映射来增加此限制,没有重新索引。
您的意思是我们可以更改上面的值吗?@RavitejaGannoju是的,没错