为 ElasticSearch 中添加的每个文档添加时间戳 - Nest 2.0

Add Timestamp to each document added in ElasticSearch - Nest 2.0

如何确保在 elasticsearch 中索引的每个文档都有时间戳?

        node = new Uri("http://localhost:9201);
        settings =
            new ConnectionSettings(node).DefaultIndex("mytestindex");
        elasticClient = new ElasticClient(settings);

// Then I do
elasticClient.Index(connections, idx => idx.Id("1")
  1. 使用 NEST 和 C# 如何确保我索引的每个文档都有时间戳?
  2. 如何查询早于一小时前的所有 <MyDoc> 类型的文档?

我发现了这个:Adding Timestamp to each document added in ElasticSearch 但是它没有告诉我如何用 NEST

做到这一点

我试过了,但是查看结果时间戳为空,它 returns 索引中的所有文档:

        var test =
            elasticClient.Search<MyDoc>(
                s => s.Query(q => q.DateRange(x => x.LessThan(DateTime.Now.AddHours(-1)))));

您可以启用 _timestamp,但 _timestamp 已弃用。不要再使用它,只需在数据对象中定义一个日期属性并显式设置它

await client.MapAsync<Blog>(m => m.TimestampField(t => t.Enabled(true)));