【问题标题】:Remove index filter settings on an existing index with documents删除包含文档的现有索引上的索引过滤器设置
【发布时间】:2016-06-23 23:03:57
【问题描述】:

我在我的 elasticsearch 服务器上创建了一个索引,设置如下:

PUT /myindex
{
    "settings": {
        "number_of_replicas": 0,
        "analysis": {
            "analyzer": {
                "default": {
                    "tokenizer": "standard",
                    "filter":  [ "lowercase", "asciifolding" ]
                }
            }
        }
    }
}

添加大量文档后,我使用以下请求更新了索引设置:

PUT /myindex/_settings
{
    "settings": {
        "analysis": {
            "analyzer": {
                "default": {
                    "tokenizer": "standard",
                    "filter":  [ "asciifolding" ]
                }
            }
        }
    }    
}

并删除了索引lowercase 过滤器,但似乎我在该索引上的所有文档仍使用lowercase 过滤器进行索引。我应该重新索引我的所有文档(sigh)还是有什么方法可以告诉 elasticsearch 考虑我的新过滤器设置来更新所有文档?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    你需要重新索引,基本上底层的lucene索引段是不可变的。如果您有新的 ES 版本,此 API 将为您提供帮助:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html 否则您必须使用搜索和滚动或仅从原始来源重新获取数据

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      • 2015-04-04
      相关资源
      最近更新 更多