2017-07-20 55 views
2

我開始elasticsearch,並且得到錯誤:直接刪除所有elasticsearch指數無捲曲

java.lang.IllegalStateException: unable to upgrade the mappings for the index [[documents/xOOEXQB-RzGhQp7o7NNH9w]] 
    at org.elasticsearch.cluster.metadata.MetaDataIndexUpgradeService.checkMappingsCompatibility(MetaDataIndexUpgradeService.java:172) ~[elasticsearch-5.5.0.jar:5.5.0] 

我並不完全確定是什麼原因導致這種情況發生。我做了 brew upgrade elasticsearch但我沒有記下最後的版本。我目前使用elasticsearch 5.5。

我想清除elasticsearch的所有映射/索引。我不需要這些數據,因爲它用於測試。大多數的文件說,使用

curl -XDELETE 'http://localhost:9200/_all' 

然而,本地主機:9200不可達(這是以前),大概是因爲elasticsearch不能正常啓動,因此這是一個有點雞和蛋的。

有沒有辦法讓我手動清除所有elasticsearch數據?

回答

1

您可能還有一些與您最新的ES版本不兼容的剩餘索引,當然您之前使用的是ES 1.x。

您可以簡單地刪除$ES_HOME/data/*文件夾下的任何內容。由於您通過brew安裝了ES,因此ES_HOME通常位於/usr/local/Cellar/elasticsearch

+0

謝謝,我通過自制軟件在我的Mac上安裝了elasticsearch,然後進行了自制升級。 ES_HOME變量未定義。但是我在/ usr/local/Cellar/elasticsearch下有幾個目錄。有一個5.3.1文件夾和一個5.5.0文件夾。但是,他們都沒有數據文件夾。它抱怨的索引似乎來自於我在5.3.1上使用mapper attachment插件進行文檔搜索的實驗。 – frank

+0

我去了https://www.elastic.co/guide/en/elasticsearch/reference/2.0/setup-dir-layout.html查找elasticsearch目錄的文檔。但是,該目錄與我在安裝Hombrew的計算機上使用的默認目錄不完全相同。我在/ usr/local/var/elasticsearch/nodes/0/indices()$下找到了有問題的索引文件。如果我刪除有問題的索引(使用映射器附件插件創建的索引),那麼我可以啓動elasticsearch 5.5.0。但我決定在我的機器上安裝切換到5.3.1以匹配Amazon elasticsearch。 – frank

+0

太棒了,很高興它有幫助。 – Val