您好,登錄后才能下訂單哦!
Solr中Facet如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
facet的基本功能就是對搜索結果中的商品進行分類。
1.facet用法
facet.field:指定要分類的字段
facet=on 或 facet=true表示功能開啟
facet.prefix 表示字段前綴
facet.limit 表示返回的記錄數
facet.offict 表示從第幾條開始,主要用于分頁
facet.query可以任意定義查詢
注:用于facet的字段的索引index一定要設為true
2..facet.field
這里我們查詢產品名稱中包含白色的商品有哪些分類,并且知道每個分類有幾條記錄
把查詢條件q=白色 facet.field=CategoryName,將得到下圖結果
可以看到分類T桖中有兩個商品名稱中包括白色
分類褲子中有1個商品包括白色
3. 按價格進行分段查詢
可以按價格區間來對搜索結果中的商品進行分段。我們先看下怎么進行分段,打開solrconfig.xml配置,找到如下節點
<requestHandler class="solr.SearchHandler" name="/select">
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">text</str>
str name="facet">on</str>
<str name="facet.range">Price</str>
<int name="f.Price.facet.range.start">0</int>
<int name="f.Price.facet.range.end">5000</int>
<int name="f.Price.facet.range.gap">1000</int>
</lst>
</requestHandler>
facet.range節點中表示按范圍分段的字段為Price
f.Price.facet.range.start表示起始值為0
f.Price.facet.range.end表示最大值為 5000
f.Price.facet.range.gap表示每次間隔1000進行分段 ,
最后,我們看到的結果如下圖
0<=Price<1000 有1條記錄
1000<=Price<2000 有2條記錄 ,查詢的時候下限包括等于這種情況
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。