在建立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同样的!
范围查询:两个边界都是包含的!