2015-05-26 41 views
1

我想改變彈性搜索配置相似的算法elasticsearch

的默認相似度算法我認爲這一鏈接:https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-similarity.html#default-base

,但我不知道如何設置此配置的REST API或者配置文件或者等。 ..

我也看到這個鏈接: https://www.elastic.co/guide/en/elasticsearch/guide/master/changing-similarities.html

但在這個環節房屋產權變更時的相似類型。

curl -XPUT "http://<server>/<index>" -d ' 
{ 
    "settings": { 
    "similarity": { 
     "default": { 
     "type": "BM25" 
     } 
    } 
    } 
} 

如果索引已經存在,它需要重建,因爲目前它是不可能的動態更新的相似性:當您創建指標如下

回答

4

人們可以更改索引的默認相似在此提到的指標:

open issue

您可以在配置文件中指定的index.similarity.default.type值更改所有索引的默認相似

例子:

index.similarity.default.type: BM25 
+0

這很好,但我想更改所有新索引的默認彈性搜索設置。 –

+0

嗯,這已經在你原來的帖子中鏈接的文檔..我已經更新了答案,但按照文檔建議的方式[配置索引模塊](https://www.elastic.co/guide/en/elasticsearch/ reference/1.5/index-modules.html#index-modules)是在創建索引時 – keety

2

Keety的答案是正確的,但你也可以嘗試使用索引模版。

索引模板允許定義將自動應用到創建的新索引的模板。模板包括設置和映射,以及一個簡單的模板模板,用於控制模板是否應用於創建的索引。

你的情況:

curl -XPUT localhost:9200/_template/template_1 -d ' 
{ 
    "template" : "te*", 
    "settings": { 
    "similarity": { 
     "default": { 
     "type": "BM25" 
     } 
    } 
    } 
}' 

定義模板名爲template_1,與TE的模板圖案*。設置和映射將應用於與te *模板匹配的任何索引名稱。

有關索引模板的更多信息,可以閱讀official documentation