Solr7.1---简单搜索

本文环境基于上一节。

and搜索

两种用法:

apple AND banana

+apple +banana

 【+是一元操作符,要求求后面的查询部分必需在文档中出现。AND是二元操作符,要求其左右两端的查询部分必需同时出现。交集】

 示例:

 OR搜索

两种用法:

apple banana

apple OR banana

【Solr默认查询词之间是OR运算,无需指定参数。OR是二元运算符,要求左右两端的查询词至少出现一个。并集】

示例:

排除词项

两种用法:

apple banana -pie

apple banana NOT pie

【在匹配apple和banana的文档中删除包含pie的文档】 

 示例:

如果我不包含look

短语

用法:

可以使用其他运算符,仅仅把单个词换成短语

示例:

组合表达式

终极奥义!!你可以胡乱组合成别人看不懂的查询,提升你的逼格!!!

apple AND (apricot OR (banana NOT banana-skin))

(+(red blue -green) +(white yellow -(+pink -black)))

模糊匹配-通配符

【*】匹配多个字符

【?】匹配一个字符

例如:

【注意:虽然通配符功能强大,但是使用不当会花销巨大。!!在通配符之前指定的字符越多,查询速度越快(lov*)!!执行首位通配符会花销巨大(*ing)!!】

另外,通配符只适用于单个查询词,不适合短语!!

模糊匹配-区间

例如:查询8到21岁的人

age:[8 TO 21]

示例:

模糊匹配-编辑距离搜索

 这一部分对用户输入的文本进行细微修正。

Solr使用~来表示模糊编辑距离搜索。

查询rea~匹配reason,mean等。

指定编辑距离:

rea~1 匹配1个以内的编辑距离

rea~2 匹配2的以内的编辑距离,这是默认的

rea~N 匹配N个以内的编辑距离

示例:我故意把reason写错

模糊匹配-临近距离搜索

查询:"apple banana"~1  apple和banana之间最多间隔1个词

查询:"apple banana"~2  apple和banana之间最多间隔2个词

查询:"apple banana"~N  apple和banana之间最多间隔N个词

示例:

原文地址:https://www.cnblogs.com/LUA123/p/7786832.html