【问题标题】:How to change a field property in Elasticsearch index from Index : not_analyzed to index:no?如何将 Elasticsearch 索引中的字段属性从 Index: not_analyzed 更改为 index:no?
【发布时间】:2015-11-10 02:32:26
【问题描述】:

我在使用 java 在 Elasticsearch 中尝试批量 api 时遇到以下异常:

原因:java.lang.IllegalArgumentException:
文档在 field="msg_properties" 中至少包含一个巨大的术语(其 UTF8 encoding 比最大长度 32766 长),所有这些都是 跳过。请更正分析器以不产生此类术语。这 第一个巨大术语的前缀是:'[7b 4a 4d 53 43 6f 72 72 65 6c 61 74 69 6f 6e 49 44 3d 6e 75 6c 6c 2c 20 4a 4d 53 4d 65 73]...'

我搜索了上述异常,它导致以下stackoverflow link 并尝试将字段属性从 index:not_analyzed 更新为 index:no。

但它没有在索引中更新并再次出现相同的异常。

谁能说一下如何解决这个问题以及如何更新属性?

如果有人能提供一个例子会很有帮助...

提前致谢.....

【问题讨论】:

    标签: java elasticsearch


    【解决方案1】:

    您无法更改现有字段的映射。因此,如果您想更改现有映射,请确保它是可能的。以下链接可以帮助您确定是否可行,如果不可行,它会建议使用现有文档重新索引。

    https://www.elastic.co/blog/changing-mapping-with-zero-downtime

    如果你有这么大的字段,又不想在上面搜索,为什么要提供给elasticsearch。你不能阻止它被发送到弹性搜索吗?

    希望有帮助

    【讨论】:

    • 我正在尝试用 Elasticsearch 替换 RDBMS,以便获得一些性能改进。由于这些数据需要存储在 elasticsearch 中进行处理,但它不应该是可搜索的。
    【解决方案2】:

    无法更改现有字段的映射。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-18
      • 1970-01-01
      • 2014-12-09
      • 1970-01-01
      • 2016-05-08
      • 1970-01-01
      • 2015-06-29
      • 1970-01-01
      相关资源
      最近更新 更多