SphinxClient::setMatchMode

 

Constant Description
SPH_MATCH_ALL 匹配所有查询词(默认模式).
SPH_MATCH_ANY 匹配查询词中的任意一个.
SPH_MATCH_PHRASE 将整个查询看作一个词组,要求按顺序完整匹配.
SPH_MATCH_BOOLEAN 将查询看作一个布尔表达式.
SPH_MATCH_EXTENDED 将查询看作一个Sphinx内部查询语言的表达式.
SPH_MATCH_FULLSCAN 使用完全扫描,忽略查询词汇.
SPH_MATCH_EXTENDED2 类似 SPH_MATCH_EXTENDED ,并支持评分和权重.

 

 

 

 

 

 

 

 

 

 

  • SPH_MATCH_ALL
例:“The was” 能匹配“The speech was carefully phrase”,不能匹配“The phrase is loaded with irony”
  • SPH_MATCH_ANY
例:“The was” 能匹配“The speech was carefully phrase”,能匹配“Its predominant vein was, in poe's own phrase”,也能匹配“The phrase is loaded with irony”
  • SPH_MATCH_PHRASE
例:“The phrase”能匹配“The phrase is loaded with irony”,不能匹配“The speech was carefully phrase”
  • SPH_MATCH_BOOLEAN
布尔查询允许使用下面特殊操作符:
AND:hello & world
OR:hello | world
NOT:hello -world或hello !world
Grouping:(hello world)
  • SPH_MATCH_EXTENDED
参照SPH_MATCH_EXTENDED2
  • SPH_MATCH_FULLSCAN
注意,在此模式下,所有的查询词都被忽略,尽管过滤器、过滤器范围以及分组仍然起作用,但任何文本匹配都不会发生。
当如下条件满足时,SPH_MATCH_FULLSCAN模式自动代替其他指定的模式被激活:
1. 查询串是空的(即长度字符串为零)
2. docinfo 存储方式为 extern.
在SPH_MATCH_FULLSCAN模式中,文档必须有至少一个属性。否则,即便设置docinfo的存储方式为extern,也无法启用完整扫描模式。
  • SPH_MATCH_EXTENDED2
扩展查询有下面特殊操作符:
操作符OR:hello | world,区配含有hello或world
操作符NOT:hello -world或hello !world,区配包含hello,且不包含world
字段搜索操作符:@title hello @body world,匹配title中有hello及body中有world
字段限位修饰符:@title[5] hello ,匹配title字段前5个词中包含有hello
多字段搜索符:@(title,body) hello,匹配title或body包含有hello
全字段搜索符:@* hello,区配任何一列包含有hello
阀值匹配符:"this is test document number"/3,匹配至少包含有3个词
短语(phrase)搜索符:“hello world”
临近(proximity)搜索符:“hello world”~10,匹配hello与world之间小于10个词
严格有序搜索符:aaa<<bbb<<ccc,匹配aaa,bbb,ccc按顺序出现
字段开始和字段结束修饰符:^hello world$,匹配以hello开始,world为结尾
 
AND是一个隐式操作符,“hello world”表示hello与world都要出现在匹配的记录中;OR的优先级高于AND,所以“looking for cat | dog | mouse”的意思是“looking for (cat | dog | mouse)”而不是“(looking for cat) | dog | mouse”
 
像“-dog”这种隐式地包含了所有查询记录,是不会被执行的。这主要是考虑到技术上与性能上的原因,从技术上来说,sphinx不能总保持所有文章的ID列表,性能上来说,当结果集巨大(10-100M),执行这样的查询将费耗较长时间。

 

posted @ 2020-09-16 09:54 helloyb 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 转载链接:Opcode是啥以及如何使用好Opcache 啥是Opcode? 我们在日常的PHP开发过程中,应该经常会听见Opcache这个词,那么啥是Opcode呢? Opcache 的前生是 Optimizer+ ,它是PHP的官方公司 Zend 开发的一款闭源但可以免费使用的 PHP 优化加速组 阅读全文
posted @ 2019-09-11 15:15 helloyb 阅读(243) 评论(0) 推荐(0) 编辑
摘要: Linux中查看网卡流量工具有iptraf、iftop以及nethogs等,iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。centos安装iftop的命令如下: yum install iftop -y 复制代码 yum install iftop -y 常用参 阅读全文
posted @ 2019-07-17 13:19 helloyb 阅读(4816) 评论(0) 推荐(0) 编辑
摘要: 一:服务器概况 服务器是联想旗下ThinkServer品牌TD340型号服务器,服务器标配32G内存,1T硬盘。其中服务器使用RAID(磁盘阵列)技术,拥有一个RAID卡,服务器标配一个大小为1T的磁盘,可以通过插入更多磁盘的方式来扩展服务器容量。此时需要使用RAID卡来管理多磁盘的情况,即使只有一 阅读全文
posted @ 2017-01-23 17:11 helloyb 阅读(6977) 评论(0) 推荐(0) 编辑
摘要: iostat来对linux硬盘IO性能进行检测 使用iostat,需要先安装sysstat ,即yum -y install sysstat # iostat -x 1 10Linux 2.6.18-92.el5xen 03/01/2010avg-cpu: %user %nice %system % 阅读全文
posted @ 2016-06-07 09:53 helloyb 阅读(13164) 评论(0) 推荐(0) 编辑
摘要: 第一步:创建sftp服务用户组,创建sftp服务根目录groupadd sftp#此目录及上级目录的所有者(owner)必须为root,权限不高于755,此目录的组最好设定为sftpmkdir /srv/sftpchown -R root:sftp /srv/sftpchmod -R 0755 /s... 阅读全文
posted @ 2015-12-18 17:57 helloyb 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 如果mysql 连接数据设置不合理可能会导致很小的流量mysql就提示MySQL: ERROR 1040: Too many connections错误了,那么要如何才算是合理设置mysql最大连接数呢,下面我来给大家介绍介绍。MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具... 阅读全文
posted @ 2015-12-07 12:53 helloyb 阅读(3348) 评论(0) 推荐(0) 编辑
摘要: 现在越来越喜欢用linux了,程序当中也去掉了很多触发性判断,改用了借用linux的crontab的特性来进行,这样程序效率确实是高了很多。比如我们每月1号清空月点击,比如每天凌晨统计上一天的访问报表。但是crontab的传参是个问题,因为命令行下执行php,是不走apache等这类东西的,没有什么... 阅读全文
posted @ 2015-11-04 17:33 helloyb 阅读(3432) 评论(0) 推荐(0) 编辑
摘要: 对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1.什么是TCP/IP、UDP?2.Socket在哪里呢?3.Socket是什么呢?4.你会使用它们吗?什么是TCP/IP、UDP?TCP/IP(Transmission Contr... 阅读全文
posted @ 2015-06-10 18:16 helloyb 阅读(197) 评论(0) 推荐(0) 编辑
摘要: jquery.chosen.js查询时,chosen默认从第一个字符搜索,所以写中间的字符搜索时,是搜索不出来的若想实现中间字符的模糊查询,下面的js中(search_contains属性为true即可)可以让chosen搜索选项的中间及末尾字符no_results_text是搜索不到内容时,显示的 阅读全文
posted @ 2015-01-20 15:38 helloyb 阅读(7140) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示