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資訊...