私は、 elasticsearchサーバーからの検索、フィルタリング、および並べ替え機能を提供するSearchkitベースのプロジェクトに取り組んでいます。レンダリングされた反応コードの一部を次に示します。
<SearchkitProvider searchkit={searchkit}>
<Layout>
<TopBar>
<SearchBox placeholder="Rechercher..."
autofocus={true}
searchOnChange={true}
queryOptions={{analyzer:"standard"}}
prefixQueryFields={["juridiction", "decision", "annee", "content"]}/>
</TopBar>
<LayoutBody>
<SideBar>
<RangeFilter min={0} max={10000} field="indemnite" id="indemnite" title="Indemnité" showHistogram={false}/>
<RefinementListFilter id="demandeur" title="Demandeur" field="demandeur.keyword" operator="OR" size={10}/>
<RefinementListFilter id="defendeur" title="Defendeur" field="defendeur.keyword" operator="OR" size={10}/>
<RefinementListFilter id="juridiction" title="Juridiction" field="juridiction.keyword" operator="OR" size={10}/>
<RefinementListFilter id="decision" title="Decision" field="decision.keyword" operator="OR" size={10}/>
<RefinementListFilter id="annee" title="Annee" field="annee.keyword" operator="OR" size={10}/>
</SideBar>
<LayoutResults>
<Tabs>
<TabList>
<Tab>Décisions Sources</Tab>
<Tab>Synthèse</Tab>
</TabList>
<TabPanel>
<ActionBar>
<ActionBarRow>
<HitsStats translations={{
"hitstats.results_found":"{hitCount} résultats trouvés"
}}/>
<ViewSwitcherToggle/>
<SortingSelector options={[
{label:"Indemnité", field:"indemnite", order:"desc"},
{label:"Dernières Décisions", field:"dateDecision", order:"desc"}
]}/>
</ActionBarRow>
<ActionBarRow>
<GroupedSelectedFilters/>
<ResetFilters/>
</ActionBarRow>
</ActionBar>
<Hits hitsPerPage={12} highlightFields={["juridiction", "decision", "annee"]}
sourceFilter={["juridiction", "decision", "annee", "content", "indemnite", "dateDecision", "lieu"]}
itemComponent={HitsListItem}
mod="sk-hits-list"
scrollTo="body"/>
<NoHits suggestionsField={"juridiction"}/>
<Pagination showNumbers={true}/>
</TabPanel>
<TabPanel>
<!-- Here I will place the charts -->
</TabPanel>
</Tabs>
</LayoutResults>
</LayoutBody>
</Layout>
</SearchkitProvider>
ここで、集計操作の結果を示すグラフをいくつか作成したいと考えています (例: SELECT SUM(...) FROM ... GROUP BY ...
)。
SearchkitProvider コンポーネントからビルドされたクエリを取得できるようにしたいと考えています。成功したとしても、Searchkit ライブラリを使用して構築されたクエリの上に集計を追加できるかどうかはわかりません。そうでない場合は、回避策が本当に必要です。