• 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个词

    示例:

  • 相关阅读:
    Linux基础(14)进程通信 IPCs
    Linux基础(13)进程基础
    Linux基础(10)AIO项目设计与POSIX文件操作和目录管理
    Linux基础(09)aio高级编程
    Linux基础(08)信号通信机制
    Linux基础(06)IO复用
    Linux基础(05)socket编程
    LInux基础(04)项目设计一(理解链表管理协议的代码架构)
    C#关于一个程序,只可以有一种实例的方法
    C#application.exit()和environment.Exit(0)比较
  • 原文地址:https://www.cnblogs.com/LUA123/p/7786832.html
Copyright © 2020-2023  润新知