sphinx 全文搜索引擎

sphinx的安装与配置

---------------------------------------------------------------------------------------------

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 第一个字段(一定是主键)

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

------------------------------------------------------------------------------------------

sphinx搜索引擎如何引用在Yii 框架中

先安装测试好 就 不用我多说了吧!

下面配置一下 csft_mysql.conf 配置文件,进行数据库配置

在vendor目录下创建一个文件夹sphinx 然后把sphinxapi.php放入文件夹中
在公共文件的配置文件中的任意一个(如:bootstrap.php)写入下面这句话

或者是在要用到sphinx的控制器的顶部或方法里写入 也行
Yii::$classMap['SphinxClient']="@vendor/sphinx/sphinxapi.php";

在控制器的顶层写上命名空间  
use SphinxClient;

在控制的方法中实例化对象
如:
$cl = new SphinxClient ();
        
$cl->SetServer ( '127.0.0.1', 9312);
        $cl->SetConnectTimeout ( 3 );
        
$cl->SetArrayResult ( true );
        $cl->SetMatchMode ( SPH_MATCH_ANY);
        
$res = $cl->Query ( '国外', "*" );
        
//print_r($cl);
        
print_r($res);

然后查到的索引的 id ,运用查到的id 来查询数据库中有关搜索的数据

将查到的数据 传到 views 视图里,遍历出来 ,这就是sphinx在Yii框架中的简单应用

sphinx 全文搜索引擎安装与配置的更多相关文章

  1. Sphinx下载、安装、配置、Hello World、文档阅读

    sphinx下载.安装.配置.Hello World.查看文档

  2. sphinx 全文搜索引擎

    sphinx的安装与配置 --------------------------------------------------------------------------------------- ...

  3. linux 配置 sphinx 全文搜索引擎

    因为公司网站需要,最近在弄sphinx搜索引擎,也是遇到各种问题,最终终于解决了. 服务器系统:centos7 (64位) 详情看安装官网的安装教程进行 coreseek 3.2.14 这里只提一些注 ...

  4. Sphinx中文分词安装配置及API调用

    这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂 ...

  5. (转)Sphinx中文分词安装配置及API调用

    这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂 ...

  6. 全文搜索引擎 Elasticsearch 安装

    全文搜索引擎 Elasticsearch 安装 学习了:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html 拼音:https://www ...

  7. ElasticSearch搜索引擎安装配置拼音插件pinyin

    近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...

  8. ElasticSearch搜索引擎安装配置中文分词器IK插件

    近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...

  9. Linux系统中ElasticSearch搜索引擎安装配置Head插件

    近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...

随机推荐

  1. 使用rman中的duplicate复制数据库

    目标库和复制库环境: OS: Linux Red Hat AS 4 DB Version: 10.2.0.1   1.目标库和复制库信息 Rman 中的目标库(target database)指的是被 ...

  2. Hive 安装配置记录

    http://yymmiinngg.iteye.com/blog/708230 export HADOOP_HOME_WARN_SUPPRESS=1 export JAVA_HOME=/home/ha ...

  3. struts2标签整理

    在JSP2.1中#被用作了JSP EL(表达式语言)的特殊记好,所以对OGNL的使用可能导致问题,   一个简单的方法是禁用JSP2.1的EL特性,这需要修改web.xml文件:   Java代码   ...

  4. angular.element方法汇总以及AngularJS 动态添加元素和删除元素

    addClass()-为每个匹配的元素添加指定的样式类名after()-在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点append()-在每个匹配元素里面的末尾处插入参数内容att ...

  5. JavaScript文件中调用AngularJS内部方法或改变$scope变量

    需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...

  6. 微软发布了ASP.NET WebHooks预览版

    微软 近期发布了ASP.NET WebHooks的预览版 ,这是一个可用于创建及使用Webhook功能的库.WebHooks支持MVC 5及WebApi 2. Webhook是一种通过HTTP实现用户 ...

  7. Android 广播大全 Intent Action 事件

    Intent.ACTION_AIRPLANE_MODE_CHANGED; //关闭或打开飞行模式时的广播 Intent.ACTION_BATTERY_CHANGED; //充电状态,或者电池的电量发生 ...

  8. centos 6安装redis 2.8.19

    下载安装: wget https://github.com/antirez/redis/archive/2.8.19.tar.gz tar xvzf redis-stable.tar.gz cd re ...

  9. Oracle NoLogging Append 方式减少批量insert的redo_size

    业务处理中,很多时候使用实表临时表处理中间结果,而实表的Insert操作缺省会记录redo log,针对此问题收集相关测试总结信息如下: [转] 常见dml.ddl语句使用nologging选项所生成 ...

  10. 数据导出至Excel文件--好库编程网http://code1.okbase.net/codefile/SerializeHelper.cs_2012122018724_118.htm

    using System; using System.IO; using System.Data; using System.Collections; using System.Data.OleDb; ...