在建立SolrQuery時,咱們填寫的Query語句,能夠有如下高級寫法:app
查詢語句中若是有特殊字符,須要轉義,可使用:」」ide
一、匹配全部文檔:: (通配符?和:「」表示匹配任意字符;「?」表示匹配出現的位置)3d
二、布爾操做:AND、OR和NOT布爾操做(推薦使用大寫,區分普通字段)code
三、子表達式查詢(子查詢):可使用「()」構造子查詢。 好比:(query1 AND query2) OR (query3 AND query4)對象
四、類似度查詢:blog
(1)默認類似度查詢:title:appla~,此時默認編輯距離是2文檔
(2)指定編輯距離的類似度查詢:對模糊查詢能夠設置編輯距離,可選0~2的整數:title:appla~1。it
五、範圍查詢(Range Query):Lucene支持對數字、日期甚至文本的範圍查詢,而且兩端範圍。結束的範圍可使用「*」通配符。class
(1)日期範圍(ISO-8601 時間GMT):a_begin_date:[1990-01-01T00:00:00.000Z TO 1999-12-31T24:59:99.999Z]date
(2)數字:salary:[2000 TO *]
(3)文本:entryNm:[a TO a]
布爾查詢:
類似度查詢:
Solr的類似度查詢與Lucene同樣的!
範圍查詢:兩個邊界都是包含的!