【发布时间】:2014-04-03 01:40:28
【问题描述】:
我设置了一个 logstash/elasticsearch/kibana 系统,结构化 json 类型的日志正在进入弹性搜索(不是来自 C# 应用程序)并且在 kibana 中可见。
我使用 NEST 是因为我想从 logstash 中分割数据。
以下代码正在生成“命中”结果,我可以在调试器中检查这些结果。
ElasticClient client = new ElasticClient(settings);
var searchResults = client.Search( s => s
.From(0)
.Size(100)
.AllIndices()
.SortDescending("@timestamp")
);
但是,如果我尝试扩展搜索以包含我认为存在于日志中的内容(在 Kibana 中可见),我现在会得到结果。
var searchResults = client.Search( s => s
.From(0)
.Size(100)
.AllIndices()
.Query(q => q
.Term("MySpecialFieldName", "ValueThatAppears")
)
.SortDescending("@timestamp")
);
我还想利用示例中显示的类型安全和其他机制。我不确定这是否相关。
( 我正在单独解决这个问题:在搜索中添加一个像“client.Search(无法反序列化或以其他方式过滤...)
【问题讨论】:
-
在使用交互式查询工具时,我看到 logstash 字段最终命名为“log.MySpecialFieldName.Raw”。到目前为止我已经尝试过,但没有成功,这是正确的方向吗?正确使用术语?
标签: elasticsearch logstash nest