2015-10-15 75 views
3

我有一個現有elasticsearch指數,我想補充一個分析器,但是當我執行此命令添加同義詞分析儀elasticsearch指數

{ 
"analysis" : { 
    "analyzer" : { 
     "synonym" : { 
      "tokenizer" : "whitespace", 
      "filter" : ["synonym"] 
     } 
    }, 
"filter" : { 
      "synonym" : { 
       "type" : "synonym", 
       "synonyms_path" : "synonym.txt", 
       "ignore_case" : true 
      } 
     } 
    } 
} 

我得到一個錯誤

{「錯誤」 :「IndexAlreadyExistsException [Nuxeo的]已經存在]」,「狀態」:400}

所以我以前刪除索引添加或刷新同義詞文件是不是很聰明 添加分析器存在簡單的方法嗎?或至少刷新它?謝謝

+0

您需要使用新分析儀重新創建索引。 –

回答

3

您需要先關閉索引,更新分析儀設置,然後打開索引。這是更新現有分析儀設置的唯一方法。請注意,它只適用於更改索引時未使用的分析儀,但使用

curl -XPOST 'localhost:9200/schoolrecords/_close' 
curl -XPUT 'localhost:9200/schoolrecords/_settings' -d '{ 
"analysis" : { 
    "analyzer" : { 
     "synonym" : { 
      "tokenizer" : "whitespace", 
      "filter" : ["synonym"] 
     } 
    }, 
"filter" : { 
      "synonym" : { 
       "type" : "synonym", 
       "synonyms_path" : "synonym.txt", 
       "ignore_case" : true 
      } 
     } 
    } 
}' 
curl -XPOST 'localhost:9200/schoolrecords/_open'