2016-09-16 4 views
0

elasticsearch에서 색인 된 각 문서에 타임 스탬프가 적용되는지 확인하려면 어떻게합니까?ElasticSearch - Nest 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. 나는 각 문서 I 지수는 타임 스탬프를 얻을 수 있는지 확인 할 수있는 방법 NEST 및 C#을 사용하십니까?
  2. 1 시간 전에 이전 인 유형 <MyDoc>의 모든 문서를 어떻게 쿼리 할 수 ​​있습니까?

나는이 발견 Adding Timestamp to each document added in ElasticSearch이 그러나 그것은 어떻게 저를 표시하지 않습니다를 내가 그러나 결과 타임 스탬프보고,이 시도 null이며,이 인덱스에있는 모든 문서를 반환 한

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)));