Elasticsearch - 刷新配置

Elasticsearch - refresh config

我正在使用 elastic cloud,我需要配置同义词。我通过上传一个包含 elasticsearch/dictionaries/synonyms.txt 文件的 zip 文件并创建一个使用它们的索引来成功地做到了这一点:

PUT /synonym_test
{
  "settings": {
    "index": {
      "analysis": {
        "analyzer": {
          "synonym_analyzer": {
            "tokenizer": "lowercase",
            "filter": ["porter_stem", "my_synonyms"]
          }
        },
        "filter": {
          "my_synonyms": {
            "type": "synonym",
            "synonyms_path": "elasticsearch/dictionaries/synonyms.txt",
            "updateable": true
          }
        }
      }
    }
  }
}

GET /synonym_test/_analyze
{
  "analyzer": "synonym_analyzer",
  "text": "notebook"
}

这工作正常。现在我想用新条目更新我的 synonyms.txt 文件,我可以使用 Extensions API 来完成。正确上传新文件后,我需要所有节点都采用新配置,这就是我遇到麻烦的地方。

如何重新启动节点以便它们获取新的配置文件?

我试过使用 API /deployments/:deployment_id/elasticsearch/:ref_id/_restart,它确实会重新启动部署,但没有选取新的同义词文件。

我正在寻找一种以编程方式更新部署的方法,即无需转到 UI 并手动重建

使用新的同义词文件更新您的扩展后,您需要编辑您的部署,单击“设置和插件”以确保您的扩展仍然处于选中状态(应该),然后再次保存您的部署。

弹出窗口会告诉您未检测到任何重大更改,但您可以忽略它(即 ES Cloud 很可能不会检查文件的内容)并简单地保存您的部署,它会再次重新启动新的同义词文件。

更新扩展程序时,您还可以更改扩展程序的名称(例如使用版本号),然后编辑部署,单击“设置和插件”并将旧扩展程序换成新扩展程序。这样 ES Cloud 会告诉您它检测到更改并会在保存部署后重新启动节点。