Solr 查詢語法

2021-08-01 02:07:00 字數 2565 閱讀 3893

摘要:預設的solr查詢語法擴充套件了lucene的語法,其目的也就是檢索索引。

solr的查詢用到了引數q,標準的查詢語法就想下面這樣:

可以使用debug=query來分析查詢過程:

"debug":}一般來說,response會包含匹配程度最好的文件,但是上面例子中,沒有文件滿足這一查詢。

在debug資訊中,可以看到是如何解析查詢語句的:查詢的主體是hello,查詢的字段是text

一般來說,查詢會指定在哪個字段查詢,語法:

title:china

表示的意思是查詢title欄位包含china資訊。

短語查詢是需要滿足多個查詢片語。

text:"air china"

這樣的話,查詢到的結果必須包含air china這樣的片語,如果標題中只有air liquide china是不會匹配到的。

臨近查詢有點像短語查詢的擴充,允許干擾項出現在所查詢的片語之間。

text:"bank of china"~2

如果這樣的話,不僅可以匹配到bank of china這樣的片語,還會匹配central bank system of chinabank institution of china這樣的短語。

布林查詢可以包含多條查詢語句,可以使查詢條件是可選的、必須的、禁止的。

solr search

預設的查詢操作符是or,也就是說是可選的。那麼text中包含solr或包含search都滿足查詢語句。

可以使用一些操作符來實現布林查詢,例如+and表示必須的,-not表示禁止的,or表示可選的。

+solr +search example -test

可以認為返回的結果必須包含solrsearch,不能出現test,有沒有exapmle無所謂。

下面這種寫法表達的是相同的意思:

solr and search or exapmle not test

提公升查詢需要用到操作符^,該查詢不會影響到查詢結果的數量,只會改變相關性,影響結果的排序。

text:solr^10

text:rocks

text:(solr^10 rocks)

(instock:true

andtext:solr)^123.45

text:hi

範圍查詢需要選定一定範圍的文件,查詢可以作用於數字型別、日期型別、字串型別。

age:[18

to30] // 匹配 age 在18-30 之間(包含 18 和 30 )

age:[18

to30} // 匹配 age 在18-30 之間(包含 18 不含 30 )

age:[65

to *] // 匹配 age 大於 65

age:[* to *] // 匹配所有含有age欄位的文件

常數得分查詢有點像布林查詢,只是該查詢需要左右的文件有相同的得分,查詢需要用到操作符^=

+color:blue^=1 text:shoes

過濾查詢需要用到fiter chche,返回的結果都來自快取,但是由於score 不會快取,所以滿足查詢條件的文件得分都是0,不過該查詢請求響應會很快(來自快取)。

description:hdtv or filter(+promotion:tv +promotion_date:[now/day-7days to now/day+1day])

這裡用到了filter()語法。

可以使用像c語言一樣的注釋語法給solr的查詢語法新增注釋。語法如下:

/* comments */

乙個例子:

description:hdtv /* todo: +promotion:tv +promotion_date:[now/day-7days to now/day+1day] */

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後,可以通過web管理介面進行管理和查詢。web介面基本列出了大多數查詢引數,可以通過這個學習lucene的查詢語法。solr的查詢解析是通過queryparser來配置的 solrconfig.xml 一般我們用預設的即可。其各引數含義與用法簡單解釋如下 q 查詢輸入,必須。可以使用...