2016-09-16 65 views
0

如何確保elasticsearch中索引的每個文檔獲取時間戳?將時間戳添加到ElasticSearch中添加的每個文檔 - 嵌套2.0

 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#我如何確保每個文檔我Index獲取時間戳?
  2. 如何在一個小時前查詢類型爲<MyDoc>的所有文檔?

我發現這一點:Adding Timestamp to each document added in ElasticSearch 但它不告訴我如何與NEST做到這一點

我試過這個,但是看結果時間戳爲空,它返回所有文件的索引:

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

回答

2

您可以啓用_timestamp,但不建議使用_timestamp。不要再使用它,只需在數據對象中定義日期屬性並將其明確設置即可

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