gpt4 book ai didi

c# - 从1.x升级后,在Nest/Elastic Search 2.x中创建索引

转载 作者:行者123 更新时间:2023-12-03 00:59:02 25 4
gpt4 key购买 nike

我将Nest和Elastic Search NuGet软件包从1.7.1升级到了2.4.6。一切似乎都正常,但我要担心的一件事是创建索引的位置。

我曾经在旧的1.x世界中设置过两个设置,但我不知道如何在2.x世界中进行设置。创建索引由此而来:

ixSettings.NumberOfReplicas = 1;
ixSettings.NumberOfShards = 5;
ixSettings.Settings.Add("merge.policy.merge_factor", "10");
ixSettings.Settings.Add("search.slowlog.threshold.fetch.warn", "1s");

EsClient.CreateIndex(c => c
.Index(ES_Index)
.InitializeUsing(ixSettings)
);

对此:
EsClient.CreateIndex(ES_Index, c => c
.Settings(s => s
.NumberOfReplicas(1)
.NumberOfShards(5)));

var mapResponse = EsClient.Map<WebPage>(m => m.AutoMap()); //apply the index mapping

我认为合并策略和获取警告设置是我从Elastic Search“入门指南”中获得的。 “merge_factor”默认为10,所以没关系,我猜“search.slowlog.threshold.fetch.warn”是一个日志记录对象。

我的问题是:
  • 我可以在我的新代码中将那些索引创建排除在外吗?
  • 如果需要,如何设置它们?
  • 最佳答案

    索引创建时的设置已得到改进,以为索引创建时允许的设置提供流利的API和对象初始化器语法。

    您可以使用.Setting()设置任何键/值

    client.CreateIndex("index-name", c => c
    .Settings(s => s
    .NumberOfReplicas(1)
    .NumberOfShards(5)
    .Setting("merge.policy.merge_factor", "10")
    .Setting("search.slowlog.threshold.fetch.warn", "1s")
    )
    );

    但应注意 merge.policy.merge_factor is removed from Elasticsearch 2.0+。您可以找到支持的设置

    client.CreateIndex("index-name", c => c
    .Settings(s => s
    .NumberOfReplicas(1)
    .NumberOfShards(5)
    .Merge(m => m
    .Policy(mp => mp
    . // See which settings are available here
    )
    )
    )
    );

    同样,可以使用

    client.CreateIndex("index-name", c => c
    .Settings(s => s
    .NumberOfReplicas(1)
    .NumberOfShards(5)
    .SlowLog(sl => sl
    .Search(ssl => ssl
    .Fetch(f => f
    .ThresholdWarn("1s")
    )
    )
    )
    )
    );

    产生以下请求:
    PUT http://localhost:9200/index-name 
    {
    "settings": {
    "index.number_of_replicas": 1,
    "index.search.slowlog.threshold.fetch.warn": "1s",
    "index.number_of_shards": 5
    }
    }

    关于c# - 从1.x升级后,在Nest/Elastic Search 2.x中创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40431110/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com