【问题标题】:Elasticsearch - NEST - Elasticsearch.NET - Filtering after searchElasticsearch - NEST - Elasticsearch.NET - 搜索后过滤
【发布时间】:2016-10-26 21:29:06
【问题描述】:

我问自己,是否可以使用我的 C# 代码中的自己的方法过滤 SearchResponse 的结果。这样我就可以粘贴到过滤结果集的 Action 中了吗?

var desc = new SearchDescriptor<T>();
desc.Query(q => SomeSearch);
var searchResponse = Client.Search<T>(desc);
var filteredData = searchResponse.Documents.Any() ? Filter(searchResponse.Documents, options.SenderXid) : searchResponse.Documents;

【问题讨论】:

  • 在 Elasticsearch 上过滤结果,还是在应用程序中根据 Elasticsearch 返回的响应进行过滤?
  • @RussCam 如果可能的话,我想过滤SearchResponse,这样我就有一个SearchResponse-对象,后面带有过滤值。目前正在过滤响应中返回的对象列表。所以我只能返回对象列表,而不是整个SearchResponse。我想给 Elasticsearch 一个方法,就是在 Searching 之后过滤@​​987654326@。
  • 所以您希望在 Elasticsearch 端进行过滤?你能举一个你现在在做什么的例子吗?
  • @RussCam 我正在添加我现在正在做的代码示例。是的,你是对的,如果可能的话,我想在服务器端进行过滤,但聚合器功能不符合我的需求。

标签: c# .net elasticsearch filter nest


【解决方案1】:

我认为你可以这样做:

var searchResponse = Client.Search<T>(desc);
var postFilteredData = searchResponse.Hits.Where(x=>x.Date > something);

这是你想要做的吗?

【讨论】:

  • 您好,谢谢您的回答。但这不是我要找的。这只会给我一个过滤列表,就像我做的那样。我想返回一个过滤后的 SearchResponse 类。
猜你喜欢
  • 1970-01-01
  • 2015-03-11
  • 1970-01-01
  • 2018-11-07
  • 1970-01-01
  • 1970-01-01
  • 2016-03-31
  • 1970-01-01
  • 2021-07-29
相关资源
最近更新 更多