zoukankan      html  css  js  c++  java
  • 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个词

    示例:

  • 相关阅读:
    接口
    多态
    封装
    初识继承
    对象的行为
    类、对象、包
    Java方法
    winform 报表的基本使用
    oracle配合C#的使用
    sql面试语句与后台调用js提示语句
  • 原文地址:https://www.cnblogs.com/LUA123/p/7786832.html
Copyright © 2011-2022 走看看