2016-08-12 11 views
0

NESTを使用してelasticsearchから最近のX行を取得したいのですが、.Sort()を使用すると0個のドキュメントが返されます。 Sort()を削除すると、ドキュメントは返されますが、最新のものは返されません。ElasticSearchはNESTを使用してさらに最近のX行を取得します

最近のログの行をどのようにエラスティックから取得するのか、あるいは私が間違っていることはありますか?

var result = elk.Search<FileBeatDto>(x => x 
     .From(0) 
     .Index("filebeat-*")     
     .Type(type)        
     .Query(q => 
      q.Match(qs => qs.Field("fields.asset_tag").Query(asset_tag)) && 
      q.Match(qs => qs.Field("message").Query(filter)) 
      ) 
     .Take(lines) 
     .Sort(ss => ss.Descending(p => p.timestamp)) 
     ); 
+0

「FileBeatDto」はどのように見えますか? 'type'型のマッピングはどのように見えますか? –

答えて

0

タイムスタンプとバージョンはnullとして取得されます。弾力性があるので@timestampと@versionであることがわかりません。

public class FileBeatDto 
{ 
    public DateTime timestamp { get; set; } 
    public string datetime { get; set; } 
    public DateTime received_at { get; set; } 
    public int offset { get; set; } 
    public string version { get; set; } 
    public string input_type { get; set; } 
    public int count { get; set; } 
    public Beat beat { get; set; } 
    public string host { get; set; } 
    public string source { get; set; } 
    public string message { get; set; } 
    public string type { get; set; } 
    public object fields { get; set; } 
    public List<string> tags { get; set; } 
} 

タイプは、ドキュメントを正常に返すソートを削除しても問題のないドキュメントのタイプによく定義されています。

ソートするために[タイムスタンプ]のマッピングが見つかりません

関連する問題