天天看點

Solr中Group和Facet的用法

先來看一下Group與Facet的差別:

相同點:兩者都能分組一個或多個字段并求數量,并支援組内分頁

不同點:

facet可以對分組數量進行過濾,以及排序,和日期範圍,時間範圍分組,但是如果你想得到具體的資料,還得需要查詢一次或多次

group可以得到分組的組數量,一次請求,可以拿到所有的資料。

facet可用來做電商網站的這個功能:

Solr中Group和Facet的用法

group可以用來做這個功能:

Solr中Group和Facet的用法

Group常用屬性介紹:

group=true開啟group

group.field需要分組的字段

group.limit限制每個分組裡面傳回的數量

group.offset配合limit可實作分頁

group.ngroups 開啟可得到比對組的數量

Facet常用屬性介紹:

facet=true開啟facet功能

facet.field分組字段

facet.prefix字首查詢

facet.limit限制組内傳回數量

facet.offset配合limit實作分頁功能

facet.mincount過濾數量設定

facet.sort排序選項count或index 條件有desc ,asc

solrj例子

(1)Solrj例子Group:

Solr中Group和Facet的用法

(2)Solrj例子Facet

Solr中Group和Facet的用法