代码之家  ›  专栏  ›  技术社区  ›  Bren

Elasticsearch无法更新非动态设置

  •  20
  • Bren  · 技术社区  · 9 年前

    我正在尝试创建一个测试分析器,以在Elastic Search上进行分析实验。我创建了一个名为“mytest”的索引,它是可用的和可搜索的,但当我尝试创建一个自定义分析器时,我遇到了以下错误

    {
    "error": "ElasticsearchIllegalArgumentException[Can't update non dynamic settings[[index.analysis.analyzer.content.type, index.analysis.analyzer.content.tokenizer]] for open indices [[mytest]]]",
    "status": 400
    }
    

    现在我不确定更新设置的限制,但在文档中找不到任何内容。我可以在创建索引时创建分析,但更新不起作用。

    使用下面的源代码创建分析器

    PUT mytest/_settings
    {
      "analysis" : {
        "analyzer":{
          "content":{
            "type":"custom",
            "tokenizer":"whitespace"
          }
        }
      }
    }
    

    有什么想法吗?

    2 回复  |  直到 9 年前
        1
  •  34
  •   Community Erin Dees    7 年前

    当索引处于打开状态时,无法更新索引的设置。您需要关闭索引并更新设置并打开索引。

    参考: error when trying to update the settings

        2
  •  0
  •   Noumenon    3 年前

    如果试图在Elasticsearch DSL for Python中设置非动态设置,请确保将它们传递给 index.settings() 而不是动态 index.put_settings() .