Solr 學習(5) Solr查詢語法和引數

2021-09-01 08:18:22 字數 1705 閱讀 9976

2、查詢語法

solr的一些查詢語法 

1.1. 首先假設我的資料裡fields有:name, tel, address 預設的搜尋是name這個字段, 如果要搜尋的資料剛好就是 name 這個字段,就不需要指定搜尋欄位名稱. 

1.2. 查詢規則: 

如欲查詢特定字段(非預設字段),請在查詢詞前加上該欄位名稱加 「:」 (不包含」號) 符號, 

例如: address:北京市海淀區上地軟體園 tel:88***xx1 

1>. q代表query input 

2>. version代表solr版本(建議不要變動此變數) 

3>. start代表顯示結果從哪一筆結果資料開始,預設為0代表第一筆, rows是說要顯示幾筆資料,預設為10筆 

(因為有時查詢結果可能有幾百筆,但不需要顯示所有結果,所以預設是從第一筆開始到第十筆) 

所以若要顯示第10到30筆就改為: 

http: //localhost:8080/solr/select/?indent=on&version=2.2&q=address:北京 市海淀區上地軟體園+tel:88***xx1&version=2.2&start=10&rows= 20&indent=on 

(indent代表輸出的xml要不要縮行.預設為開啟 on) 

1.3. 另外,要限定輸出結果的內容可用 「fl=」 加上你要的欄位名稱,如以下這個範例: 

http: //localhost:8080/solr/select/?indent=on&version=2.2&q=text:北京+ or+text:億度&start=0&rows=10&fl=name,address,tel 

在fl=之後加上了name,adress,tel 

所以結果會如下: 

3、查詢引數常用

不常用其它

1.  solr的檢索運算子

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

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

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

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

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

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

7. 布林操作符and、||

8. 布林操作符or、&&

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

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

11.( ) 用於構成子查詢

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

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

date:

注:範圍檢索欄位只適用於:string,int,dobule,date不能用於long型的字段

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

solr查詢語法

首先假設我的資料裡fields有 name,subbranch,tel,address 預設的搜尋是name這個字段,如果要搜尋的資料剛好就是 name 這個字段,就不需要指定搜尋欄位名稱.2.查詢規則 如欲查詢特定字段 非預設字段 請在查詢詞前加上該欄位名稱加 不包含 號 符號,例如 addres...

solr查詢語法

區間範圍查詢 組合 區間條件 if minprice.intvalue 0 maxprice 0 1.首先假設我的資料裡fields有 name,subbranch,tel,address 預設的搜尋是name這個字段,如果要搜尋的資料剛好就是 name 這個字段,就不需要指定搜尋欄位名稱.2.查詢...

Solr 查詢語法

摘要 預設的solr查詢語法擴充套件了lucene的語法,其目的也就是檢索索引。solr的查詢用到了引數q,標準的查詢語法就想下面這樣 可以使用debug query來分析查詢過程 debug 一般來說,response會包含匹配程度最好的文件,但是上面例子中,沒有文件滿足這一查詢。在debug資訊...