匹配模式今天使用

sphinx匹配模式SetMatchMode

编程开发 2020-09-22 08:18:06 36

导读

今天在使用sphinx的用到了SetMatchMode匹配模式的SPH_MATCH_EXTENDED2,接下来就为大家介绍一下sphinx匹配模式SetMatchMode的可选参数,有需要的小伙伴可以参考一下:1、SPH_MATCH_ALL模式: (1)、描述: 匹配所有查询词(默认模式……

今天在使用sphinx的用到了SetMatchMode匹配模式的SPH_MATCH_EXTENDED2,接下来就为大家介绍一下sphinx匹配模式SetMatchMode的可选参数,有需要的小伙伴可以参考一下:

1、SPH_MATCH_ALL模式:

    (1)、描述:

    匹配所有查询词(默认模式).

    (2)、举例:

    “change see” 能匹配“Be the change you wish to see in the world.”,不能匹配“To change my world”

2、 SPH_MATCH_ANY模式:

    (1)、描述:

    匹配查询词中的任意一个;

    (2)、举例:

    “change see” 能匹配“Be the change you wish to see in the world.”,能匹配“To change my world”,能匹配“Yet, those who have eyes apparently see little”

3、SPH_MATCH_PHRASE模式:

    (1)、描述:

    将整个查询看作一个词组,要求按顺序完整匹配

    (2)、举例:

    “the word” 能匹配“the word is a Puzzle”,不能匹配“the power of word”

4、SPH_MATCH_BOOLEAN模式:

    (1)、描述:

    将查询看作一个布尔表达式(允许使用特殊的操作符)

    (2)、常用操作符:

操作符示例
ANDlook & at
ORlook | at
NOTlook -at 或者  look !at
Grouping(look at)

5、SPH_MATCH_EXTENDED模式:

    (1)、介绍

    将查询看作一个CoreSeek/Sphinx内部查询语言的表达式 . 从版本Coreseek 3/Sphinx 0.9.9开始, 这个选项被选项SPH_MATCH_EXTENDED2代替,它提供了更多功能和更佳的性能。

6、SPH_MATCH_FULLSCAN模式:

    (1)、介绍:

    强制使用下文所述的“完整扫描”模式来对查询进行匹配。

    (2)、其他方式激活条件:

    当查询串是空的(即长度字符串为零)或者 docinfo存储方式为extern时,SPH_MATCH_FULLSCAN模式自动代替其他指定的模式被激活。

    (3)、注意事项:

    在此模式下,所有的查询词都被忽略,尽管过滤器、过滤器范围以及分组仍然起作用,但任何文本匹配都不会发生。

7、SPH_MATCH_EXTENDED2模式:

    (1)、介绍:

    类似SPH_MATCH_EXTENDED,并支持评分和权重,扩展匹配模式允许使用一些像mysql的条件语句

    (2)、用法:

操作符示例释义
操作符OR

look | at

匹配含有look或者at

操作符NOTlook -at 或者  look !at

区配包含hello,且不包含world

字段搜索操作符@@descr look @content at

匹配descr中有look及content中有at

字段限位修饰符@[]@descr[5] looks

匹配descr字段前5个词中包含有looks

多字段搜索符@()@(descr,content) look

匹配descr或content包含有look

全字段搜索符@*@* look

区配任何一列包含有look

阀值匹配符"the word is a Puzzle"/3

匹配至少包含有3个词

短语(phrase)搜索符"the word"
临近(proximity)搜索符"the word"~6

匹配the与word之间小于6个词

严格有序搜索符aaa<<bbb<<ccc

匹配aaa,bbb,ccc按顺序出现

字段开始和字段结束修饰符^the word$

匹配以the开始,word为结尾

隐式操作符AND"the word"

the与word都要出现在匹配的记录中


1253067 TFnetwork_cn