Coreseek $sphinxapi设置实例和$result结构分析

        Yii::import('ext.SphinxClient');
        $sphinxapi = new SphinxClient();
        $sphinxapi->SetServer('127.0.0.1', 9313);
        $sphinxapi->SetConnectTimeout(3);
        $sphinxapi->SetMatchMode(SPH_MATCH_BOOLEAN);
        $sphinxapi->SetFilter('shop_area_id',$saId,false);      
        $sphinxapi->SetArrayResult(true);
        $sphinxapi->SetGroupBy('shop_site_type', SPH_GROUPBY_ATTR,"@count desc");
        $sphinxapi->SetLimits(0, 9999, 10000);
        $result = $sphinxapi->Query('', 'main;delta');
        unset($sphinxapi);
 
下面是详细说明:

        //引用/protected/extensions/SphinxClient.php
        Yii::import('ext.SphinxClient');                        
        $sphinxapi = new SphinxClient();   
        
        // 设置searchd的主机名和TCP端口。此后的所有请求都使用新的主机和端口设置。默认的主机和端口分别是“localhost”和9312
        $sphinxapi->SetServer('127.0.0.1', 9313);
        
        // 设置连接超时时间,在与服务器连接时,如果超过这个时间没有连上就放弃;
        //有了这个选项,就给客户端应用程序提供了一定的控制权,让它可以决定当searchd不可用的时候如何处理,而且可以避免脚本由于超过运行限制而运行失败(尤其是在PHP里)
        $sphinxapi->SetConnectTimeout(3);  
                                         
        // 设置全文查询的匹配模式,见第 5.1 节 “匹配模式”中的描述。参数必须是一个与某个已知模式对应的常数。  
        /*
        SPH_MATCH_ALL, 匹配所有查询词(默认模式);
        SPH_MATCH_ANY, 匹配查询词中的任意一个;
        SPH_MATCH_PHRASE, 将整个查询看作一个词组,要求按顺序完整匹配;
        SPH_MATCH_BOOLEAN, 将查询看作一个布尔表达式 (参见 第 5.2 节 “布尔查询语法”);如:( cat -dog ) | ( cat -mouse) 使用了 AND OR NOT GROUP特殊运算符
        SPH_MATCH_EXTENDED, 将查询看作一个CoreSeek/Sphinx内部查询语言的表达式 (参见 第 5.3 节 “扩展查询语法”). 从版本Coreseek 3/Sphinx 0.9.9开始, 这个选项被选项SPH_MATCH_EXTENDED2代替,它提供了更多功能和更佳的性能。保留这个选项是为了与遗留的旧代码兼容——这样即使Sphinx及其组件包括API升级的时候,旧的应用程序代码还能够继续工作。
        SPH_MATCH_EXTENDED2, 使用第二版的“扩展匹配模式”对查询进行匹配.
        SPH_MATCH_FULLSCAN, 强制使用下文所述的“完整扫描”模式来对查询进行匹配。注意,在此模式下,所有的查询词都被忽略,尽管过滤器、过滤器范围以及分组仍然起作用,但任何文本匹配都不会发生.
        */
        $sphinxapi->SetMatchMode(SPH_MATCH_BOOLEAN);    
       
        /*
       
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值