2016-06-30 2 views
0

으로 분류 얻을 :모든 문서는 내가로 정의 된 유형과 타임 스탬프 필드가 어디가 elasticsearch 데이터베이스가 타임 스탬프

public Common.MediaType Type  { get; set; } 
public DateTime Timestamp   { get; set; } 

내가 X 항목을 반환하는 쿼리를 할 수있는 방법 특정 유형과 일치하고 타임 스탬프별로 정렬 되었습니까?

나는 경우이 :

 var Match = Index.Driver.Search<Metadata>(_ => _ 
      .Query(Q => Q.Term(P => P.Type, Type)) 
      .Size(NumberOfItems) 
      .Sort(Q => Q.Descending(P => P.Timestamp))); 

그것이 올바른 유형에서 NumberOfItems에게 레코드를 반환하기 때문에 실패하고 타임 스탬프별로 정렬, 그래서 아주 잘 최신와 레코드를 놓칠 수있는 것 타임 스탬프. 내가 원하는 무엇

내가 타임 스탬프 올바른 유형과 일치으로 분류 기록을 NumberOfItems를 얻을 수 있도록 쿼리의 타임 스탬프 부분을 확인하는 것입니다.

하지만이를 작성하는 방법을 모른다 ...

+0

_ "올바른 유형의 NumberOfItems 레코드를 반환 한 다음 타임 스탬프별로 정렬하므로 가장 새로운 타임 스탬프가있는 레코드가 누락 될 수 있으므로 실패합니다."_ - 여기에서 의미가 명확하지 않습니다. 이 질의는'Timestamp'가 내림차순으로 정렬 된'Type'과 일치하는 최신 _searchable_'Metadata'를 반환합니다. 그게 네가 원하는게 아니야? –

+0

5 개 항목을 요청하면 유형과 일치하는 5 개 항목을 반환 한 다음 날짜별로 5 개 항목을 정렬합니다. 적어도 그것이 내가 말한 시험이 무엇인지. 내가 필요한 것은 유형과 일치하는 전체 DB에서 5 개의 최신 항목을 반환하는 쿼리를 만드는 것입니다. – Thomas

답변