![](/img/trans.png)
[英]how do I scan and scroll with elasticsearch-js and elasticsearch 5.0
[英]elasticsearch 5.0 and index template
我正在从elasticsearch 2.x迁移到Elasticsearch 5.0。 在启动过程中,elasticsearch告诉我我无法再在elasticsearch.yml中定义索引属性。 通过elasticsearch 5.0文档,我发现我需要使用索引模板来设置在2.x版中的elasticsearch.yml中设置的默认参数。 就我而言,我有以下设置
index:
number_of_shards: 1
number_of_replicas: 1
similarity:
default:
type: BM25
b:0.0
k1:1.2
norm_bm25:
type: BM25
b:0.75
k1:1.2
而是使用和索引模板,我尝试将其转换为
curl -XPUT 'http://localhost:9200/_template/template1' -d '{
"template" : "*",
"settings.index.number_of_replicas" : "1",
"settings.index.number_of_shards" : "1",
"settings.index.similarity.default.b" : "0.0",
"settings.index.similarity.default.k1" : "1.2",
"settings.index.similarity.default.type" : "BM25",
"settings.index.similarity.norm_bm25.b" : "0.75",
"settings.index.similarity.norm_bm25.k1" : "1.2",
"settings.index.similarity.norm_bm25.type" : "BM25"
}'
我正在使用Elasticsearch.js版本12,并收到错误消息
Error: [illegal_argument_exception] unknown setting [index.similarity]
我认为这是因为我在模板中以错误的方式设置了相似性。 我的JavaScript代码在升级到Elasticsearch 5.0时保持不变,但是,令人反感的javascript代码导致出现以下错误:
client.indices.create({
index: indexName,
body: { settings: {
number_of_shards: 1,
similarity : "norm_bm25"
}
},....error stuff)
正确地将我的elasticsearch.yml转换为一组curl操作,使其在Elasticsearch 5.0中工作的正确方法是什么?
编写模板的正确方法是
PUT _template/template1
{
"template": "*",
"settings": {
"number_of_replicas": 1,
"number_of_shards": 1,
"index": {
"similarity": {
"default": {
"type": "BM25",
"b": 0,
"k": 1.2
},
"norm_bm25": {
"type": "BM25",
"b": 0.75,
"k": 1.2
}
}
}
}
}
您可以参考文档以获取更多信息。 您将在javascript代码中复制相同的设置字典。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.