W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
BlockJoin 分面允許您通過父分面匯總子分面數(shù)。
通常的要求是,如果一個父文檔有多個子文檔,則它們都只需要增加一個 facet 值計數(shù)。此功能由 BlockJoinDocSetFacetComponent 提供,并且 BlockJoinFacetComponent 只是一個用于兼容性的別名。
此組件被認(rèn)為是實驗性的,并且必須為 solrconfig. xml 中的請求處理程序顯式啟用,與任何其他搜索組件的方式相同。
下述的示例演示如何將此搜索組件添加到 solrconfig. xml 并在請求處理程序中定義它:
<searchComponent name="bjqFacetComponent" class="org.apache.solr.search.join.BlockJoinDocSetFacetComponent"/>
<requestHandler name="/bjqfacet" class="org.apache.solr.handler.component.SearchHandler">
<lst name="defaults">
<str name="shards.qt">/bjqfacet</str>
</lst>
<arr name="last-components">
<str>bjqFacetComponent</str>
</arr>
</requestHandler>
可以將這個組件添加到任何搜索請求處理程序中。此組件在 SolrCloud 模式下使用分布式搜索。
文檔應(yīng)按索引嵌套子文檔中所述添加到子父級塊中。示例如下:
示例文檔:
<add>
<doc>
<field name="id">1</field>
<field name="type_s">parent</field>
<doc>
<field name="id">11</field>
<field name="COLOR_s">Red</field>
<field name="SIZE_s">XL</field>
<field name="PRICE_i">6</field>
</doc>
<doc>
<field name="id">12</field>
<field name="COLOR_s">Red</field>
<field name="SIZE_s">XL</field>
<field name="PRICE_i">7</field>
</doc>
<doc>
<field name="id">13</field>
<field name="COLOR_s">Blue</field>
<field name="SIZE_s">L</field>
<field name="PRICE_i">5</field>
</doc>
</doc>
<doc>
<field name="id">2</field>
<field name="type_s">parent</field>
<doc>
<field name="id">21</field>
<field name="COLOR_s">Blue</field>
<field name="SIZE_s">XL</field>
<field name="PRICE_i">6</field>
</doc>
<doc>
<field name="id">22</field>
<field name="COLOR_s">Blue</field>
<field name="SIZE_s">XL</field>
<field name="PRICE_i">7</field>
</doc>
<doc>
<field name="id">23</field>
<field name="COLOR_s">Red</field>
<field name="SIZE_s">L</field>
<field name="PRICE_i">5</field>
</doc>
</doc>
</add>
查詢的構(gòu)造方式與父 Block Join 查詢的方式相同。例如:
http://localhost:8983/solr/bjqfacet?q={!parent which=type_s:parent}SIZE_s:XL&child.facet.field=COLOR_s
因此,我們應(yīng)該有 Red(1) 和 Blue(1) 的分面,因為子 id=11 和 id=12 上的匹配被聚合成到父級的單一的打擊:id=1。
上面顯示的請求的關(guān)鍵組件是:
已經(jīng)使用塊連接分面組件定義的請求處理程序的名稱。
作為主查詢的強(qiáng)制性父查詢。父查詢也可以是更復(fù)雜查詢中的從屬子句。
子文檔字段,根據(jù)需要可能會有多次重復(fù)多個字段。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: