我是c#的新手,我想写一个程序来查询elasticsearch的数据。首先,我加载kibana示例日志并希望从我的c#程序中进行查询,下面是我的c#程序。我想过滤clientip是20.102.50.96日志。
class Program
{
static void Main(string[] args)
{
var settings = new ConnectionSettings(new Uri("http://127.0.0.1:9200"))
.DefaultIndex("kibana_sample_data_logs");
var client = new ElasticClient(settings);
var searchResponse = client.Search<SampleLog>(s => s
.From(0)
.Size(10)
.Query(q => q
.Match(m => m
.Field(f => f.clientip)
.Query("20.102.50.96")
)
)
);
var logs = searchResponse.Documents;
foreach(SampleLog p in logs)
{
Console.WriteLine(p.bytes);
Console.WriteLine(p.url);
Console.WriteLine(p.clientip);
Console.WriteLine(p.message);
}
Console.WriteLine(logs.Count);
}
}
我很困惑,如果我的日志有40个字段,我是否需要像下面这样初始化40个var?是否影响结果数据?
public class SampleLog
{
public string extension { get; set; }
public string clientip { get; set; }
public string message { get; set; }
public string url { get; set; }
public int bytes { get; set; }
}
当我运行代码时,结果有10个日志:
但是,我在kibana找不到那么多日志,只有两个日志:
暂无答案!
目前还没有任何答案,快来回答吧!