六 solr 查詢引數說明

2021-07-09 02:59:22 字數 3257 閱讀 4049

1、常用

q- 查詢字串,這個是必須的。如果查詢所有*:*,根據指定字段查詢(name:張三 and address:北京

fq- (filter query)過慮查詢,作用:在q查詢符合結果中同時是fq查詢符合的,例如:q=name:張三&fq=createdate:[2014-06-18 to 2015-12-18],找關鍵字」張三」,並且createdate是查詢2014-06-182015-12-18之間的資料

fl- 指定返回那些字段內容,用逗號或空格分隔多個。 

start- 返回第一條記錄在完整找到結果中的偏移位置,0開始,一般分頁用。 

rows- 指定返回結果最多有多少條記錄,配合start來實現分頁。 

sort- 排序,格式:sort=+[,+]… 。示例:(score desc, price asc)表示先 「score」 降序, 再 「price」 公升序,預設是相關性降序。 

wt- (writer type)指定輸出格式,可以有xml,json,php,phps。 

fl表示索引顯示那些field(*

表示所有

field,如果想查詢指定欄位用逗號或空格隔開(如:name,sku,shortdescription或name sku shortdescription【注:欄位是嚴格區分大小寫的】)) 

q.op表示q 中 查詢語句的 各條件的邏輯操作 and(與) or(或) 

hl是否高亮 ,如hl=true

hl.fl高亮field ,hl.fl=name,sku

hl.snippets:預設是1,這裡設定為3個片段

hl.******.pre高亮前面的格式 

hl.******.post高亮後面的格式 

facet是否啟動統計 

facet.field統計field

2、 solr運算子

1. 「:」 指定字段查指定值,如返回所有值*:*

2. 「?」 表示單個任意字元的通配

3. 「*」 表示多個任意字元的通配(不能在檢索的項開始使用*或者?符號)

4. 「~」 表示模糊檢索,如檢索拼寫類似於」roam」的項這樣寫:roam~將找到形如foam和roams的單詞;roam~0.8,檢索返回相似度在0.8以上的記錄。

5. 鄰近檢索,如檢索相隔10個單詞的」apache」和」jakarta」,」jakarta apache」~10

6. 「^」 控制相關度檢索,如檢索jakarta apache,同時希望去讓」jakarta」的相關度更加好,那麼在其後加上」^」符號和增量值,即jakarta^4 apache

7. 布林操作符and、||

8. 布林操作符or、&&

9. 布林操作符not、!、- (排除操作符不能單獨與項使用構成查詢)

10. 「+」 存在操作符,要求符號」+」後的項必須在文件相應的域中存在

11. ( ) 用於構成子查詢

12. 包含範圍檢索,如檢索某時間段記錄,包含頭尾,date:[200707 to 200710]

13. {} 不包含範圍檢索,如檢索某時間段記錄,不包含頭尾

date:

14. / 轉義操作符,特殊字元包括+ - && || ! ( ) [ ] ^ 」 ~ * ? : /

注:①「+」和」-「表示對單個查詢單元的修飾,and 、or 、 not是對兩個查詢單元是否做交集或者做差集還是取反的操作的符號

比如:ab:china +ab:america

,表示的是ab:china忽略不計可有可無,必須滿足第二個條件才是對的,

而不是你所認為的必須滿足這兩個搜尋條件

如果輸入:ab:china and ab:america,解析出來的結果是兩個條件同時滿足,即+ab:china and +ab:america或+ab:china +ab:america

3、 solr查詢語法

1.最普通的查詢,比如查詢姓張的人(name:張),如果是精準性搜尋相當於sql server中的like搜尋這需要帶引號(""),比如查詢含有北京的(address:"北京")

2.多條件查詢,注:如果是針對單個字段進行搜尋的可以用(name:搜尋條件加運算子(or、and、not) name:搜尋條件),比如模糊查詢(name:張 or name:李)單個欄位多條件搜尋不建議這樣寫,一般建議是在單個欄位裡進行條件篩選,如(name:張 or 李),多個字段查詢(name:張 + address:北京

3.排序,比如根據姓名公升序(name asc),降序(name desc

4.查詢結果匹配

例如 :http://localhost:8081/solr/select/?q=name:"蘇小小"&version=2.2&start=0&rows=10&indent=on&sort=cdate desc&hl=true&hl.fl=content

注意:如果在搜尋的目標上有一句話中包含這個關鍵字,那麼這段話也會被搜尋到,如:「很久很久以前蘇小小就是很出名了」。千萬不要以為只是關鍵字的內容才能搜尋到。

solr查詢引數說明

查詢規則 查詢特定字段,比如我需要找分類下的book,你可以寫成這樣 cat book q 表示查詢規則 wt 表示以什麼樣的資料格式返回 有xml json python php ruby等 indent 表示是否縮排,模式為true表示縮排 start 表示從第幾條記錄開始,與rows聯合可以用...

solr 查詢引數說明

1 常用 q 查詢字串,這個是必須的。如果查詢所有 根據指定字段查詢 name 張三 and address 北京 fq filter query 過慮查詢,作用 在q查詢符合結果中同時是fq查詢符合的,例如 q name 張三 fq createdate 2014 06 18 to 2015 12...

solr引數說明

hight hl highlight,h1 true,表示採用高亮。可以用h1.fl field1,field2 來設定高亮顯示的字段。這些值都可以在select中加入,也可以用solrj的api去設定,也可以配置在solrconfig.xml中配置。示例如下 explicit 10true tit...