gpt4 book ai didi

elasticsearch - ElasticSearch 2.0 NEST迁移

转载 作者:行者123 更新时间:2023-12-02 22:43:39 24 4
gpt4 key购买 nike

我以前使用过 flex 1.7。迁移到2.0之后,我遇到了几个问题(这是我目前最关注的问题):映射属性,json序列化。

我使用了在2.0版本中找不到的下一个属性-带有属性ElasticPropertyName, Boost, OptOut

我在新的api中找不到settitgs.SetJsonSerializerSettingsModifier(x => x.DateParseHandling = DateParseHandling.DateTimeOffset)的替代品。

我发现的唯一有用的文档是breaking changes。遗憾的是,但是nest examples已过时。可能我错过了一些简单的事情,请指出正确的方向。

编辑

因此,Name, BoostString属性的一部分

最佳答案

广告1。

此部分已重构,现在您不能使用ElasticProperty。它已被一堆新属性替换(如breaking changes notes中所述)

例如

[ElasticProperty(Name="name", Boost = 1.1, OptOut = true)]
public string Name {get; set;}

相当于
[String(Name="name", Boost = 1.1, Ignore = true)]
public string Name {get; set;}

等等

广告2。

您可以通过将自定义 JsonNetSerializer传递给 ConnectionSettings来修改序列化设置,如下所示:
var connectionPool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));
var settings = new ConnectionSettings(connectionPool, connectionSettings => new MyJsonNetSerializer(connectionSettings))
.DefaultIndex(indexName)
.DisableDirectStreaming()
.PrettyJson();

public class MyJsonNetSerializer : JsonNetSerializer
{
public MyJsonNetSerializer(IConnectionSettingsValues settings) : base(settings)
{
}

protected override void ModifyJsonSerializerSettings(Newtonsoft.Json.JsonSerializerSettings settings)
{
settings.DateParseHandling = DateParseHandling.DateTimeOffset;
}
}

更多详细信息 herehere

我希望它可以使您的迁移更加容易:)

关于elasticsearch - ElasticSearch 2.0 NEST迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35502725/

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