99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

Collapsing查詢(xún)解析器和Expand組件

2018-11-30 14:18 更新

Collapsing 查詢(xún)解析器和 Expand 組件結(jié)合起來(lái),形成了在 Solr 搜索結(jié)果中為字段折疊而對(duì)文檔進(jìn)行分組的方法。 

Collapsing 查詢(xún)解析器根據(jù)您的參數(shù)對(duì)文檔進(jìn)行分組(折疊結(jié)果集),而 Expand 組件則提供對(duì)折疊組中的文檔的訪問(wèn),以便在結(jié)果顯示或客戶(hù)端應(yīng)用程序的其他處理中使用。Collapse 和Expand 可以共同執(zhí)行之前的 Result Grouping(group=true)對(duì)大多數(shù)用例都適用但不是全部用例。一般來(lái)說(shuō),您應(yīng)該選擇折疊和擴(kuò)展。

為了在 SolrCloud 中使用這些功能,文檔必須位于同一個(gè)分片上。為確保文檔在同一地點(diǎn),您可以在創(chuàng)建集合時(shí)定義router.name參數(shù)作為 compositeId。有關(guān)此選項(xiàng)的詳細(xì)信息, 請(qǐng)參閱文檔路由一節(jié)。 

Collapsing查詢(xún)解析器

CollapsingQParser 實(shí)際上是一個(gè) post 過(guò)濾器,當(dāng)結(jié)果集中的不同組的數(shù)量很多時(shí),提供比 Solr 標(biāo)準(zhǔn)方法更高的性能字段折疊。在將結(jié)果集轉(zhuǎn)發(fā)給其余搜索組件之前,此解析器會(huì)將結(jié)果集折疊為每個(gè)組的單個(gè)文檔。所以所有的下游組件(faceting,highlighting等)都可以與折疊的結(jié)果集一起工作。

CollapsingQParser 接受以下本地參數(shù):

  • field 參數(shù)

    正在折疊的字段。該字段必須是單值 String、Int 或 Float 類(lèi)型的字段。

  • min 或 max 參數(shù)

    根據(jù)哪個(gè)文檔具有指定數(shù)字字段或函數(shù)查詢(xún)的最小或最大值,為每個(gè)組選擇組頭文檔。

    至多只能指定一個(gè)min,maxsort(見(jiàn)下文)參數(shù)。

    如果沒(méi)有指定,則將根據(jù)該組中的最高評(píng)分文檔來(lái)選擇每個(gè)組的組長(zhǎng)文檔。默認(rèn)值是“none”。

  • sort 參數(shù)

    根據(jù)指定的 sort 字符串,根據(jù)哪個(gè)文檔最先出現(xiàn),為每個(gè)組選擇組頭文檔。

    至多只能指定一個(gè)min,max,(見(jiàn)上文)或sort參數(shù)。

    如果沒(méi)有指定,則將根據(jù)該組中的最高評(píng)分文檔來(lái)選擇每個(gè)組的組長(zhǎng)文檔。默認(rèn)值是“none”。

  • nullPolicy 參數(shù)

    有三個(gè)可用的空策略:

    • ignore:在折疊字段中刪除具有 null 值的文檔。這是默認(rèn)的。

    • expand:將折疊字段中的每個(gè)文檔的 null 值作為單獨(dú)的組處理。

    • collapse:使用最高分或最小/最大值將所有具有 null 值的文檔合并為一個(gè)組。

      默認(rèn)是ignore。

  • hint 參數(shù)

    目前只有一個(gè)提示可用:top_fc,它代表頂級(jí) FieldCache。

    top_fc提示僅在折疊字符串字段時(shí)可用。top_fc通常會(huì)提供最佳的查詢(xún)時(shí)間速度,但在啟動(dòng)或提交后需要最長(zhǎng)的時(shí)間來(lái)預(yù)熱。top_fc還將導(dǎo)致折疊字段在內(nèi)存中緩存兩次,如果它用于分面或排序。對(duì)于非常高的基數(shù)(高分?jǐn)?shù))的字段,top_fc可能不那么好。

    默認(rèn)值是“none”。

  • size 參數(shù)

    僅在折疊數(shù)值字段時(shí)設(shè)置折疊數(shù)據(jù)結(jié)構(gòu)的初始大小。

    用于折疊的數(shù)據(jù)結(jié)構(gòu)在數(shù)值字段上折疊時(shí)動(dòng)態(tài)增長(zhǎng)。將大小設(shè)置為結(jié)果集中預(yù)期的結(jié)果數(shù)量將會(huì)消除調(diào)整大小的成本。

    默認(rèn)值是“100,000”。

示例語(yǔ)法

折疊 group_field 選擇每個(gè)組中具有最高分?jǐn)?shù)文檔的文檔::

fq={!collapse field=group_field}

折疊 group_field 選擇每個(gè)組中的文檔,其中最小值為 numeric_field:

fq={!collapse field=group_field min=numeric_field}

折疊 group_field 選擇每個(gè)組中的文檔,其中最大值為 numeric_field:

fq={!collapse field=group_field max=numeric_field}

折疊 group_field 在每個(gè)組中選擇一個(gè)函數(shù)的最大值的文檔。請(qǐng)注意,cscore () 函數(shù)可與 "min/max" 選項(xiàng)一起使用,以使用當(dāng)前正在折疊的文檔的分?jǐn)?shù)。

fq={!collapse field=group_field max=sum(cscore(),numeric_field)}

使用空策略在 group_field 上折疊,以便在 group_field 中沒(méi)有值的所有文檔都將被視為單個(gè)組。對(duì)于每個(gè)組,所選文檔將首先基于 numeric_field,但關(guān)系將按分?jǐn)?shù)中斷:

fq={!collapse field=group_field nullPolicy=collapse sort='numeric_field asc, score desc'}

在 group_field 上折疊,并提示使用頂層字段緩存:

fq={!collapse field=group_field hint=top_fc}

CollapsingQParserPlugin 完全支持 QueryElevationComponent。

Expand組件

ExpandComponent 可用于展開(kāi) CollapsingQParserPlugin 折疊的組。

CollapsingQParserPlugin的使用示例:

q=foo&fq={!collapse field=ISBN}

在上面的查詢(xún)中,CollapsingQParserPlugin 會(huì)折疊 ISBN 字段上的搜索結(jié)果。主要搜索結(jié)果將包含每本書(shū)中排名最高的文檔。

現(xiàn)在可以使用 ExpandComponent 擴(kuò)展結(jié)果,以便可以看到按 ISBN 分組的文檔。例如:

q=foo&fq={!collapse field=ISBN}&expand=true

“expand = true” 參數(shù)打開(kāi) ExpandComponent。ExpandComponent 將新節(jié)添加到標(biāo)記為 “expanded” 的搜索輸出中。

在展開(kāi)的部分中,有一個(gè)地圖,每個(gè)組頭都指向組內(nèi)的展開(kāi)文檔。當(dāng)應(yīng)用程序遍歷主要折疊結(jié)果集時(shí),他們可以訪問(wèn)展開(kāi)的地圖來(lái)檢索展開(kāi)的組。

ExpandComponent 具有以下參數(shù):

  • expand.sort 參數(shù)

    在展開(kāi)的組中對(duì)文檔進(jìn)行排序。默認(rèn)是score desc。

  • expand.rows 參數(shù)

    每個(gè)組中顯示的行數(shù)。默認(rèn)值是5行。

  • expand.q 參數(shù)

    重寫(xiě)主查詢(xún)(q),確定要在主組中包含哪些文檔。默認(rèn)是使用主查詢(xún)。

  • expand.fq 參數(shù)

    重寫(xiě)主過(guò)濾器查詢(xún)(fq),確定要在主組中包含哪些文檔。默認(rèn)是使用主要的過(guò)濾器查詢(xún)。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)