私は果樹園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.「リンダ」:15柱。 3. "メアリー":10ポスト。 ....著者名のテキストフィールドでは、著者は登録とサインインを必要としないため、著者名はわかりません。 – jiangyo4