2016-06-24 3 views
0

내 C# 코드에서 SearchResponse의 결과를 필터링 할 수 있다면 스스로에게 묻습니다. 그래서 결과 세트를 필터링하는 액션에 붙여 넣을 수 있습니까?Elasticsearch - NEST - Elasticsearch.NET - 검색 후 필터링

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; 
+0

Elasticsearch에서 결과를 필터링하거나 Elasticsearch에서 반환 된 응답에서 필터를 적용 하시겠습니까? –

+0

@RussCam 가능한 경우 필터링 된 값을 가진'SearchResponse'-Object를 갖도록'SearchResponse'를 필터링하고 싶습니다. 현재 메신저는 응답에서 반환되는 객체 목록을 필터링합니다. 그래서 나는 단지 객체 목록을 되돌릴 수 있지만 전체'SearchResponse'는 돌려 줄 수 없다. 나는 Elasticsearch에게 검색 후'SearchResponse'를 걸러내는 방법을주고 싶습니다. – Marius

+1

그러면 Elasticsearch 측에서 필터링을 수행 하시겠습니까? 지금하고있는 일의 예를 들려 줄 수 있습니까? –

답변

0

나는 당신이 할 수있는 생각하고 있어요 :

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

은 당신이 찾고있는 무엇인가요?

+0

안녕하세요, 답변 해 주셔서 감사합니다. 하지만 그건 내가 찾던 것이 아닙니다. 이것은 필자가 어떻게 든 일을하는 것처럼 필자에게 필터링 된 목록을 줄 것입니다. 필터링 된 SearchResponse 클래스를 돌려주고 싶습니다. – Marius