2014-12-05 116 views
2

的Elasticsearch documentation says我可以通过添加更改所有领域的相似下面以elasticsearch.ymlBM25相似度调入Elasticsearch

index.similarity.default.type: BM25 

..这我已经做了,但我也想微调场-length正常化,它说我可以在这里做: http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/pluggable-similarites.html#bm25-tunability

但它并没有告诉我在哪里/如何设置​​和b参数。有没有一条线我可以添加到elasticsearch.yml来实现这一目标?

谢谢。

回答

3

你可以看看这个document说明如何配置BM25相似

本质上可以定义类似于指数自仪自定义BM25相似度设置

例子:

curl -XPUT "http://<server>/<index>" -d ' 
{ 
    "settings": { 
    "similarity": { 
     "custom_bm25": { 
     "type": "BM25", 
     "b": 0 , 
     "k1" : 0.9 

     } 
    } 
    }' 
+0

谢谢!我需要在改变这个之后重建索引吗?或者重启足够了吗? – amba88 2014-12-05 02:26:48

+1

1)改变模糊需要索引重建http://stackoverflow.com/questions/24875703/elasticsearch-change-similarities-model-of-an-index 2)然而根据http://www.elasticsearch.org/ guide/en/elasticsearch/guide/current/changing-similarities.html#改变相似度一旦你为b设置了索引的自定义相似度,k1只需要关闭索引,更新和重新打开。但是我没有测试过2点。 – keety 2014-12-05 02:39:57

1

这是我的elasticsearch.yml文件的样子。这是与elasticsearch-2.3.2。

index : 
    similarity: 
    default: 
     type: BM25 
     b: 0.75 
     k1: 1.2 

另外,here是挑选调整参数的好参考。