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 全文搜索引擎安装与配置

    sphinx 全文搜索引擎 sphinx的安装与配置 ------------------------------------------------------------------------- ...

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

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

  3. 指尖上的电商---(2)Solr全文搜索引擎的准备工作

    Solr是一个基于Lucene的全文搜索引擎.提供了更丰富的搜索语言.更灵活的配置.更高的查询效率. 一句话.与Lucene相比.有过之而无不及.这一节里, 主要谈论两个知识点:Jdk的安装和Tomc ...

  4. 全文搜索引擎 ElasticSearch 还是 Solr?

    最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步,而且是其他团队在维护,依赖性太强,导致 Solr 服务 ...

  5. 全文搜索引擎Elasticsearch入门实践

    全文搜索引擎Elasticsearch入门实践 感谢阮一峰的网络日志全文搜索引擎 Elasticsearch 入门教程 安装 首先需要依赖Java环境.Elasticsearch官网https://w ...

  6. Spring Boot 全文搜索引擎 ElasticSearch

    参考 全文搜索引擎ElasticSearch 还是Solr? - JaJian - 博客园

  7. 全文搜索引擎 Elasticsearch 入门教程

    全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选. 它可以快速地储存.搜索和分析海量数据.维基百科.Stack Overflow.Gi ...

  8. 全文搜索引擎 Elasticsearch 入门

    1. 百科 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作 ...

  9. 【Elasticsearch全文搜索引擎实战】之Head插件实践

    简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...

随机推荐

  1. binary-tree-inorder-traversal——二叉树中序遍历

    Given a binary tree, return the inordertraversal of its nodes' values. For example:Given binary tree ...

  2. 常用组件介绍 ---- Layout_weight

      下面这些也可以算是组件 文本区 TextView 文本框 EditText layout  容器 view     千万不要把Layout_weight 与 Layout_width相混淆**** ...

  3. bootcamp安装win7的详细步骤 (光盘安装)

      bootcamp安装win7的详细步骤 首先是要您确定以下内容(1)您的Mac系统下是一个盘符,也就是“macintosh hd”一个磁盘.如果不是的话,首先您需要做的是备份您分区下面的资料,让磁 ...

  4. java使用Runtime.exec()运行windwos dos或linux shell命令

    使用Runtime.exec()运行windwos dos或linux shell命令,按实际情况具体测试     实例代码: package com.bookoo.test.command; imp ...

  5. 【Union Find】JAVA implementation

    import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Scan ...

  6. 07 redi sorder set结构及命令详解

    zadd key score1 value1 score2 value2 .. 添加元素 redis 127.0.0.1:6379> zadd stu 18 lily 19 hmm 20 lil ...

  7. LR中select next row和update value on的设置

    LR的参数的取值,和select next row和update value on的设置都有密不可分的关系.下表给出了select next row和update value on不同的设置,对于LR ...

  8. 【BZOJ1124】[POI2008]枪战Maf 贪心+思路题

    [BZOJ1124][POI2008]枪战Maf Description 有n个人,每个人手里有一把手枪.一开始所有人都选定一个人瞄准(有可能瞄准自己).然后他们按某个顺序开枪,且任意时刻只有一个人开 ...

  9. 操作符表示指针指向的底层值 切片 nill 清空 按值引用赋值 获取地址赋值

    package main import "fmt" var thisVisitedUrls [] string func tf() { p := &thisVisitedU ...

  10. cocos2d-js添加广点通插屏(通过jsb反射机制)

    1.把广点通的jar包加入libs文件夹 2.修改AndroidManifest.xml文件 添加权限: <uses-permission android:name="android. ...