Ant*_*tau 1 elasticsearch nest elasticsearch-2.0
我之前使用过弹性1.7.迁移到2.0后,我遇到了几个问题(这里是我目前最关注的问题):映射属性,json序列化.
我使用了我在2.0版本中找不到的下一个属性 - ElasticProperty带有属性Name, Boost, OptOut.
我找不到settitgs.SetJsonSerializerSettingsModifier(x => x.DateParseHandling = DateParseHandling.DateTimeOffset)新api的替代品.
我找到的唯一有用的文件是破坏变化.可悲的是,但巢的例子已经过时了.可能我错过了一些简单的事情,请指出我正确的方向.
编辑
所以, 属性的Name, Boost一部分String
AD1.
这部分已经过重构,现在你无法使用ElasticProperty.它已被一堆新属性所取代(如破坏更改说明中所述)
例如
[ElasticProperty(Name="name", Boost = 1.1, OptOut = true)]
public string Name {get; set;}
Run Code Online (Sandbox Code Playgroud)
它相当于
[String(Name="name", Boost = 1.1, Ignore = true)]
public string Name {get; set;}
Run Code Online (Sandbox Code Playgroud)
等等
AD2.
您可以通过传递自定义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;
}
}
Run Code Online (Sandbox Code Playgroud)
我希望它会让你的迁移变得更容易:)
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |