SQL   结构化查询语言(是一种标准,所有的关系型数据库Mysql,sqlserver,oracle)

sphinx的使用两种方式:

第一种:  使用sphinx的API来操作sphinx   (常用)   
     sphinx可以使用API类,也可以将api编译到PHP中做为扩展
第二种:  使用mysql的sphinx的存储引擎

sphinx  这是英文的全文检索引擎

coreseek  这是支持中文词库的全文检索引擎

区别:
    英文的文章 怎么能区分哪个词    以空格来区分词的
    中文的文章 我爱北京天安门      中文词库

使用sphinx的步骤:

1、安装
cd E:/usr/local/coreseek-3.2.14-win32
2、配置(配置文件 csft_mysql.conf)
   配置文件格式
    1、数据源定义 (指向你数据的来源 ,通常是mysql)
        2、索引 (索引的一些配置信息)
        3、indexer  (内用的内存---基本不需要设置)
        4、searchd  (服务器的一些配置---)
   注意:
    1、一个配置文件可以配置多个数据源和索引 ((1,2),(1,2),nnnn)
    2、sql_query  主查询(把数据库表中的哪些字段查询出来--根据你页面的搜索条件)

select 第一个字段(一定是主键)
cd month9/date0410/vendor/yiisoft/yii2/sphinx

3、indexer.exe -c 配置文件 --all(参数--all 表示创建全部索引)
.\bin\indexer.exe -c .\etc\csft_mysql.conf --all
4、启动searchd 服务  searchd.exe -c 配置文件
.\bin\searchd.exe -c .\etc\csft_mysql.conf
5、php 操作sphinx

.\bin\indexer.exe -c .\etc\csft_mysql.conf --all
.\bin\searchd.exe -c .\etc\csft_mysql.conf
.\bin\indexer.exe -c .\etc\csft_mysql.conf delta

//多表索引
http://0x0d.im/archives/using-coreseek-with-PHP-with-multiple-indexes.html

//高亮显示
        foreach($countries as $k=>$v){
            $countries[$k]['name']=$cl->BuildExcerpts([$v['name']],'mysql','zhangsan',array('before_match'=>"<font style='font-weight:bold;color:#f00;'>",'after_match'=>"</font>"))[0];
        }

//name//键值
//mysql//索引名称
//zhangsan//搜索的高亮名称

http://www.coreseek.cn/docs/coreseek_3.2-sphinx_0.9.9.html#matching-modes

$name=Yii::$app->request->get('name');
        $starttime=Yii::$app->request->get('starttime');
        $endtime=Yii::$app->request->get('endtime');
        //实例化sphnix
        $cl=new SphinxClient();
        $cl->SetServer('127.0.0.1',9312);
        //设置时间
        $cl->SetConnectTimeOut(3);
        $cl->SetArrayResult(true);
        if(empty($name))
        {
            $cl->SetMatchMode(SPH_MATCH_FULLSCAN);

}else{
            $cl->SetMatchMode(SPH_MATCH_ANY);

}
        if($starttime && $endtime)
        {
            $cl->SetFilterRange('time',$starttime,$endtime);
        }
        //执行搜索
        $arr=$cl->Query($name,'*');
        // print_r($arr);die;
        if($arr['matches']){
            foreach($arr['matches'] as $k=>$v) {
                $data[]=$v['id'];
            }

}
        $query = Users::find()->where(['id'=>$data]);
       
        $countQuery = clone $query;
        $pages = new Pagination([
            'totalCount' => $countQuery->count(),
            'defaultPageSize' => 4,]);
        $models = $query->offset($pages->offset)
            ->limit($pages->limit)
            ->all();

return $this->render('sou', [
             'models' => $models,
             'pages' => $pages,
             'name'=>$name,
             'starttime'=>$starttime,
             'endtime'=>$endtime
         ]);

使用sphinx的更多相关文章

  1. 利用sphinx为python项目生成API文档

    sphinx可以根据python的注释生成可以查找的api文档,简单记录了下步骤 1:安装 pip install -U Sphinx 2:在需要生成文档的.py文件目录下执行sphinx-apido ...

  2. 安装PHP sphinx扩展 sphinx-1.1.0/sphinx.c:105:2: error: too few arguments 错误

    表现: /home/sphinx-1.1.0/sphinx.c: In function 'php_sphinx_client_read_property':/home/sphinx-1.1.0/sp ...

  3. 【整理】Linux下中文检索引擎coreseek4安装,以及PHP使用sphinx的三种方式(sphinxapi,sphinx的php扩展,SphinxSe作为mysql存储引擎)

          一,软件准备 coreseek4.1 (包含coreseek测试版和mmseg最新版本,以及测试数据包[内置中文分词与搜索.单字切分.mysql数据源.python数据源.RT实时索引等测 ...

  4. coreseek+sphinx+mysql+thinkphp整合

    1.安装coreseek 1.1首先升级或安装系统依赖库 yum install make gcc g++ automake libtool mysql-client libmysqlclient15 ...

  5. 全文检索解决方案(lucene工具类以及sphinx相关资料)

    介绍两种全文检索的技术. 1.  lucene+ 中文分词(IK) 关于lucene的原理,在这里可以得到很好的学习. http://www.blogjava.net/zhyiwww/archive/ ...

  6. 如何将Sphinx生成的html文档集成进入Django

    参考 http://stackoverflow.com/questions/10594618/django-and-sphinx-how-to-view-the-html-sphinx-generat ...

  7. Linux下搭建coreseek(sphinx+mmseg3)全文检索

    测试平台:Center OS 1.设置环境,升级/安装系统基础依赖包:m4.autoconf.automake.libtool #设置路径和中文环境: $ export PATH=/usr/local ...

  8. debian下使用Sphinx异常“Could not import extension sphinx.builders.linkcheck (exception: cannot import name SSLError)”的解决

    最近使用到Sphinx编译文档,出现如下异常: Extension error:Could not import extension sphinx.builders.linkcheck (except ...

  9. [搜索引擎]Sphinx的介绍和原理探索

    What/Sphinx是什么 定义 Sphinx是一个全文检索引擎. 特性 索引和性能优异 易于集成SQL和XML数据源,并可使用SphinxAPI.SphinxQL或者SphinxSE搜索接口 易于 ...

  10. Sphinx安装配置应用

    Sphinx 是由俄罗斯人Andrew Aksyonoff开发的一个全文搜索引擎.意图为其他应用提供高速.地空间占用.高结果相关度的全文搜索功能.Sphinx可以非常容易的与SQL数据库和脚本语言集成 ...

随机推荐

  1. UIBC 小註解(转载)

    转自:http://www.cash.idv.tw/wordpress/?p=7942 UIBC 是指 User Input Back Channel, 用在 WIFI Display 的情境之下. ...

  2. bzoj 1112: [POI2008]砖块Klo【对顶堆】

    priority_queue实现的对顶堆,细节超级多WA了十几次--但是理论上是最简便的orz其实是我已经不会写平衡树了 枚举左端点,显然要把这一段的高度搞成(l,l+k-1)的高度中位数,所以需要一 ...

  3. NOIp 2010/Luogu P1525 关押罪犯 【二分图/并查集】 By cellur925

    题目传送门 感想:相信自己的想法!继续挖掘! 读完题目后:看到的最大值最小?二分答案啊!再仔细一看:wi达到了1e9,二分可能费点劲.(其实真的是可以的)而且check函数貌似并没有什么行之有效的写法 ...

  4. [CF997E] Good SubSegment

    Description Transmission Gate 给你一个长度为n的排列P,定义一段子区间是好的,当且仅当这个子区间内的值构成了连续的一段.例如对于排列\(\{1,3,2\}\),\([1, ...

  5. 贪心/数学 Codeforces Round #212 (Div. 2) A. Two Semiknights Meet

    题目传送门 /* 贪心/数学:还以为是BFS,其实x1 + 4 * k = x2, y1 + 4 * l = y2 */ #include <cstdio> #include <al ...

  6. 贪心 Codeforces Round #173 (Div. 2) B. Painting Eggs

    题目传送门 /* 题意:给出一种方案使得abs (A - G) <= 500,否则输出-1 贪心:每次选取使他们相差最小的,然而并没有-1:) */ #include <cstdio> ...

  7. AFNetworking2.5使用-转

    来自:http://blog.csdn.net/daiyelang/article/details/38434023 官网下载2.5版本:http://afnetworking.com/ 此文章是基于 ...

  8. 221 Maximal Square 最大正方形

    在一个由0和1组成的二维矩阵内,寻找只包含1的最大正方形,并返回其面积.例如,给出如下矩阵:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0返回 4. 详见:https://l ...

  9. SP CAML工具

    直接一直使用CAML做一些简单的SP列表查询,突然想对CAML进一步了解,于是找到两个常用工具,做以记录: 1 Caml Query Builder : 用于编写CAML查询,对初学者可以了解查询语句 ...

  10. WPF学习07:MVVM 预备知识之数据绑定

    MVVM是一种模式,而WPF的数据绑定机制是一种WPF内建的功能集,两者是不相关的. 但是,借助WPF各种内建功能集,如数据绑定.命令.数据模板,我们可以高效的在WPF上实现MVVM.因此,我们需要对 ...