1. 程式人生 > >Solr學習總結-Facet

Solr學習總結-Facet

返回查詢集合中指定field的統計情況,例如找到city一樣的文件數目

加入文件

  1. <add>  
  2. <doc>  
  3. <field name="id">1</field>  
  4. <field name="name">Company 1</field>  
  5. <field name="city">New York</field>  
  6. </doc>  
  7. <doc>  
  8. <field name="id">2</field>  
  9. <field name="name">Company 2</field>  
  10. <field name="city">New Orleans</field>  
  11. </doc>  
  12. <doc>  
  13. <field name="id">3</field>  
  14. <field name="name">Company 3</field>  
  15. <field name="city">New York</field>  
  16. </doc>  
  17. </add>  
查詢:http://localhost:8983/solr/select?q=name:company&facet=true&facet.field=city&facet.mincount=1

結果:

  1. <lst name="facet_fields">  
  2. <lst name="city">  
  3. <int name="New York">2</int>  
  4. <int name="New Orleans">1</int>  
  5. </lst>  
  6. </lst>  
獲得指定日期範圍內的文件:新增的文件
  1. <add>  
  2. <doc>  
  3. <field name="id">1</field>  
  4. <field name="title">Lucene or Solr ?</field>  
  5. <field name="added">2010-12-06T12:12:12Z</field>  
  6. </doc>  
  7. <doc>  
  8. <field name="id">2</field>  
  9. <field name="title">My Solr and the rest of the world</field>  
  10. <field name="added">2010-12-07T11:11:11Z</field>  
  11. </doc>  
  12. <doc>  
  13. <field name="id">3</field>  
  14. <field name="title">Solr recipes</field>  
  15. <field name="added">2010-11-30T12:12:12Z</field>  
  16. </doc>  
  17. <doc>  
  18. <field name="id">4</field>  
  19. <field name="title">Solr cookbook</field>  
  20. <field name="added">2010-11-29T12:12:12Z</field>  
  21. </doc>  
  22. </add>  
查詢語句:分別指定時間的field,開始時間和結束時間,gap指定時間的劃分,結果顯示時間區間的數目。

http://localhost:8983/solr/select?q=*:*&rows=0&facet=true&facet.date=added&facet.date.start=NOW/DAY-30DAYS&facet.date.end=NOW/DAY&facet.date.gap=+7DAY

結果:

  1. <intname="2010-11-08T00:00:00Z">0</int>
  2. <intname="2010-11-15T00:00:00Z">0</int>
  3. <intname="2010-11-22T00:00:00Z">0</int>
  4. <intname="2010-11-29T00:00:00Z">2</int>
  5. <intname="2010-12-06T00:00:00Z">2</int>

得到數值範圍的數目,和時間範圍一樣

http://localhost:8983/solr/select?q=*:*&rows=0&facet=true&facet.range=price&facet.range.start=0&facet.range.end=400&facet.range.gap=100

自定義區間,而不是連續區間的劃分

http://localhost:8983/solr/select?q=name:car&facet=true&facet.query=price:[10 TO 80]&facet.query=price:[90 TO 300]

移除過濾

http://localhost:8983/solr/select?q=name:company&facet=true&fq={!tag=stateTag}state:"New York"&facet.field={!ex=stateTag}city&facet.field={!ex=stateTag}state

fq={!tag=stateTag}state:"New York":只顯示state為"New York"的結果。

facet.field={!ex=stateTag}city:移除stateTag的過濾後,在結果集中,對city域進行統計。

命名facet結果集

http://localhost:8983/solr/select?q=name:company&facet=true&fq={!tag=stateTag}state:Luiziana&facet.field={!key=stateFiltered}city&facet.field={!ex=stateTag key=stateUnfiltered}state

acet.field={!key=stateFiltered}city:命名city為stateFiltered,並按照前面的過濾

對facet結果集進行排序按照字典序排序,預設是按數量排序

http://localhost:8983/solr/select?q=name:house&facet=true&facet.field=city&facet.sort=index

實現自動提示:字首為so的都會顯示,一般不需要分詞

http://localhost:8983/solr/select?q=*:*&rows=0&facet=true&facet.field=title_autocomplete&facet.prefix=so

得到某一個域中不含某詞的facet,也可以是不含某個域

http://localhost:8983/solr/select?q=title:solr&facet=true&facet.query=!price:[* TO *]

指定結果集數目的統計facet:-1表示所有

http://localhost:8983/solr/select?q=title:solr&facet=true&facet.field=category&facet.limit=-1

指定不同域的facet的限制數目:一個沒限制,一個限制10

http://localhost:8983/solr/select?q=name:car&facet=true&facet.field=category&facet.field=manufacturer&f.category.facet.limit=-1&f.manufacturer.facet.limit

相關推薦

Solr學習總結-Facet

返回查詢集合中指定field的統計情況,例如找到city一樣的文件數目: 加入文件 <add>   <doc>   <field name="id">1</field>   <field name="name"

Solr學習總結(二)Solr的安裝與配置

 1.準備     1.安裝Java8 和 Tomcat9 ,java和tomcat 的安裝這裡不再重複。需要注意的是這兩個的版本相容問題。貌似java8 不支援,tomcat7 以下版本。     2.下載 solr安裝包,目前的最新版本是  5.3.1  2

Solr學習總結 IK 配置中文分詞器

  預設solr沒有使用中文分詞器 所有搜尋的詞都是整個句子是一個詞 需要配置中文分詞器目前比較好用的是IK 但2012就停更了 只支援到Lucene4.7所有solr5.5需要Lucene5支援需要修改部分原始碼來支援solr5.5找到IKAnalyze類  <dep

Solr學習總結(三)Solr web 管理後臺

前面講到了Solr的安裝,按道理,這次應該講講.java與資料庫的內容,java如何操作Solr索引等。不過我還是想先講一些基礎的內容,比如solr查詢引數如何使用,各個引數都代表什麼意思? 還有solr 自帶的web 管理系統如何使用等。只有先明白了solr的基本內容,

Solr學習總結-查詢

指定field查詢: http://localhost:8983/solr/select?q=author:rafal 按照dismax查詢:可以指定多個域,每個域的匹配都有不同的分數 http://localhost:8080/solr/select?q=titl

1109_Solr學習總結(二)Solr的安裝與配置

Solr學習總結(二)Solr的安裝與配置 接著前一篇,這裡總結下Solr的安裝與配置     1.準備     1.安裝Java8 和 Tomcat9 ,java和tomcat 的安裝這裡不再重複。需要注意的是這兩個的版本相容問題。貌似java8 不支援,tomcat7

Solr學習(2)----FieldType總結

一、介紹 solr在對一個域進行儲存和處理的時候,會根據域資料型別去進行相應的處理,例如Text型別的資料會進行分詞處理,然後在進行索引的建立,並且,使用者可以通過對域的型別進行制定,從而更好的操作查詢得出的資料。Solr允許使用者自定義FieldType(域型別),同時S

Solr學習使用之(七)Solr高階查詢facetfacet.pivot簡介

1 、什麼是Faceted Search Facet['fæsɪt]很難翻譯,只能靠例子來理解了。Solr作者Yonik Seeley也給出更為直接的名字:導航(Guided Navigation)、引數化查詢(Paramatic Search)。 上面是比較直接的Faceted Search例子

Solr學習之—:solr facet

1.     facet介紹 solr將以導航為目的的查詢結果稱為facet.它並不會修改查詢結果資訊,只是在查詢結果上根據分類添加了count資訊, 然後使用者根據count資訊做進一步的查詢,比如淘寶的查詢列表中,上面會表示不同的類目相關查詢結果的數量. 比如搜尋數碼相

Solr學習總結

心語:因為以前一直接觸的都是關係型資料庫,所有在接觸到這些nosql的時候確實不太適應。在公司有經常的用到。這個學習起來並不困難,但為了以後的複習。我決定還是寫下自己學習的一些技巧和心得 Solr的環境配置 查詢引數 基本查詢 Solr的

設計模式學習總結(八)策略模式(Strategy)

isp 筆記本 override div ont 角色 write stat 通過   策略模式,主要是針對不同的情況采用不同的處理方式。如商場的打折季,不同種類的商品的打折幅度不一,所以針對不同的商品我們就要采用不同的計算方式即策略來進行處理。   一、示例展示:   以

設計模式學習總結(七)適配器模式(Adapter)

實現接口 國外 手機 額外 sed ges program ebe 通過   適配器模式主要是通過適配器來實現接口的統一,如要實現國內手機在國外充電,則需要在不同的國家采用不同的適配器來進行兼容!   一、示例展示:   以下例子主要通過給筆記本電腦添加類似手機打電話和發短

Linux下常用命令之sed學習總結

linux sed sed命令 正則表達式 sed總結 Sed功能說明:Sed是linux下一個強大的文本文件處理工具,通過對文件增加、刪除、查找、查詢操作,配合正則表達式以實現工作中的各種需求。同時也是一名運維人員必須掌握的核心技能。---------------------------

Paxos 學習總結

max 更強 分開 由於 zab ted 偽代碼 big commit 近期學習了分布式領域的重要算法Paxos,這裏羅列下關鍵點當作總結。自己水平有限,難免存在謬誤,懇請讀者指正。本篇不包含Paxos的基本理論介紹。Paxos基礎能夠參考以下的學習資料

Java IO流學習總結

系統 指針 數組 rar amr redo 修改 接收 學習 Java IO流學習總結 Java流操作有關的類或接口: Java流類圖結構: 流的概念和作用 流是一組有順序的,有起點和終點的字節集合,是對數據傳輸的總稱或抽象。即數據在兩設備間的傳輸稱為流,流

201521044091 《Java程序設計》第11周學習總結

概念 ray 本周 art pre sign 繼續 not 生產 1. 本章學習總結 2. 書面作業 Q1.1.互斥訪問與同步訪問完成題集4-4(互斥訪問)與4-5(同步訪問) 1.1 除了使用synchronized修飾方法實現互斥同步訪問,還有什麽辦法實現互斥同步訪

201521123087 《Java程序設計》第11周學習總結

syn finally ktr comm 解鎖 cer 存取 ren 進行 1. 本周學習總結 2. 書面作業 本次PTA作業題集多線程 互斥訪問與同步訪問完成題集4-4(互斥訪問)與4-5(同步訪問)1.1 除了使用synchronized修飾方法實現互斥同步訪

201521123105 第11周Java學習總結

同步互斥 生產 tor 什麽 signal 源代碼 final 本周 執行 1. 本周學習總結 1.1 以你喜歡的方式(思維導圖或其他)歸納總結多線程相關內容。 2. 書面作業 本次PTA作業題集多線程 1. 互斥訪問與同步訪問 完成題集4-4(互斥訪問)與4-5(同步訪

201521123089 《Java程序設計》第11周學習總結

提交 trac 消費者 生產者消費者問題 start nal 出現 選擇 查詢 1. 本周學習總結 1.1 以你喜歡的方式(思維導圖或其他)歸納總結多線程相關內容。 2. 書面作業 本次PTA作業題集多線程 Q1.互斥訪問與同步訪問 1.1 除了使用synchroni

《構建之法》第八、九章學習總結

快速 需求 獲取 利益相關者 軟件需求 用戶需求 估計 bcd abcd 第八章:需求分析 這一章主要講述了軟件需求的類型、利益相關者、獲取用戶需求的常用方法和步驟、競爭性需求分析的框架NABCD、四象限方法、項目計劃和估計的技術。 確認軟件需求有以下步驟:1.獲取和引導需