나는 이것을 위해 과수원 ISearchService
을 사용하고 싶습니다. add your ContentType to a search index (여러 개의 색인을 가질 수 있음)을 입력하고 포함 할 입력란을 확인하십시오 (예 : created
및 author
).
그런 다음 당신은 다음과 같이 검색하고
ISearchService
의
TotalItemCount
속성을 사용할 수 있습니다
var pager = new Pager(this.OrchardServices.WorkContext.CurrentSite, page, pageSize);
var searchSettingsPart = this.OrchardServices.WorkContext.CurrentSite.As<SearchSettingsPart>();
// Orchard.Search.Services.ISearchService
var searchHits = this.searchService.Search.Query(
searchText,
pager.Page,
pager.PageSize,
searchSettingsPart.FilterCulture,
searchSettingsPart.SearchIndex,
searchSettingsPart.GetSearchFields(searchSettingsPart.SearchIndex),
searchHit => searchHit);
var count = searchHits.TotalItemCount;
은 지금까지 당신의 ContentType의 설명에도 있듯이, 나는 오차드 이미 투사에 필요한 모든 필터를 제공합니다 생각합니다.
특별한 것이 필요한 경우 자신의
FilterProvider을 구현해야합니다.
ContentTypesFilter은이를 수행하는 좋은 예입니다.
감사합니다. Xceno, ISearchService의 TotalItemCount 속성을 사용하는 검색 모듈을 작성해야합니까? 어떻게해야합니까? – jiangyo4
@ jiangyo4 검색 모듈에 내장 된 과수원을 사용할 수 있습니다. 그러나 그것은 당신의 상황에 달려 있습니다. 정확히 TotalItemCount가 필요한 곳이 어디입니까? 정확히 무엇을 만들려고합니까? – Xceno
다음과 같은 통계를 표시하고 싶습니다. 1. "Peter": 20posts; 2. "Linda": 15posts; 3. "Mary": 10posts; .... 작성자라는 텍스트 필드를 사용하여 작성자가 등록하고 로그인 할 필요가 없으므로 작성자 이름을 모르겠습니다. – jiangyo4