【郑州校区】SolrQuery对象的特殊查询 在创建SolrQuery时,我们填写的Query语句,可以有以下高级写法: 查询语句中如果有特殊字符,需要转义,可以使用:”” 1、匹配所有文档:*:* (通配符?和*:“*”表示匹配任意字符;“?”表示匹配出现的位置) 2、布尔操作:AND、OR和NOT布尔操作(推荐使用大写,区分普通字段) 3、子表达式查询(子查询):可以使用“()”构造子查询。 比如:(query1 AND query2) OR (query3 AND query4) 4、相似度查询: (1)默认相似度查询:title:appla~,此时默认编辑距离是2 (2)指定编辑距离的相似度查询:对模糊查询可以设置编辑距离,可选0~2的整数:title:appla~1。 5、范围查询(Range Query):Lucene支持对数字、日期甚至文本的范围查询,并且两端范围。结束的范围可以使用“*”通配符。 (1)日期范围(ISO-8601 时间GMT):a_begin_date:[1990-01-01T00:00:00.000Z TO 1999-12-31T24:59:99.999Z] (2)数字:salary:[2000 TO *] (3)文本:entryNm:[a TO a] 布尔查询: 相似度查询: Solr的相似度查询与Lucene一样的! 范围查询:两个边界都是包含的! 传智播客·黑马程序员郑州校区地址 河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
|