sphinx 全文搜索引擎安装与配置
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 全文搜索引擎安装与配置的更多相关文章
- Sphinx下载、安装、配置、Hello World、文档阅读
sphinx下载.安装.配置.Hello World.查看文档
- sphinx 全文搜索引擎
sphinx的安装与配置 --------------------------------------------------------------------------------------- ...
- linux 配置 sphinx 全文搜索引擎
因为公司网站需要,最近在弄sphinx搜索引擎,也是遇到各种问题,最终终于解决了. 服务器系统:centos7 (64位) 详情看安装官网的安装教程进行 coreseek 3.2.14 这里只提一些注 ...
- Sphinx中文分词安装配置及API调用
这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂 ...
- (转)Sphinx中文分词安装配置及API调用
这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂 ...
- 全文搜索引擎 Elasticsearch 安装
全文搜索引擎 Elasticsearch 安装 学习了:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html 拼音:https://www ...
- ElasticSearch搜索引擎安装配置拼音插件pinyin
近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...
- ElasticSearch搜索引擎安装配置中文分词器IK插件
近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...
- Linux系统中ElasticSearch搜索引擎安装配置Head插件
近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...
随机推荐
- Intro to Filtering with Network Monitor 3.0
https://blogs.technet.microsoft.com/netmon/2006/10/17/intro-to-filtering-with-network-monitor-3-0/ h ...
- Git-仓库迁移
如果你想从别的 Git 托管服务那里复制一份源代码到新的 Git 托管服务器上的话,可以通过以下步骤来操作.1). 从原地址克隆一份裸版本库,比如原本托管于 GitHub. git clone --b ...
- JS的Document属性和方法小结
Document想必大家并不陌生吧,在使用js的过程中会经常遇到它,那么它有哪些属性.哪些方法,在本文将以示例为大家详细介绍下,希望对大家有所帮助 document.title //设置文档标题等价于 ...
- C++ map详解
1.什么是mapmap是一个键值对容器.在处理一对一数据是,很有用. 2.map数据结构的特点map内部自建一颗红黑树,这棵树具有对数据自动排序的功能,因此,map内的数据都是按key的值排好序的. ...
- 常规SQL注入脚本
一:union报错注入 猜字段长度:order by 28 先显示位http://127.0.0.1/sql.php?cmd=-1 UNION SELECT 1,2,3,4,5,6,7,8,9 当前数 ...
- 004. 线程间操作无效: 从不是创建控件“textBox1”的线程访问它
最简单的方法(不推荐): 在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false; 为什么不推荐上面的方法: 为避免空间造成死锁, .net f ...
- Linux 下SVN自动更新
1.找到svn的所在目录: 我的目录在/usr/local/svn/myproject 2.新建post-commit vim hooks/post-commit #!/bin/shexport LA ...
- memcache 启动参数
启动方式: 参数 说明 -d 以守护程序(daemon)方式运行 -u root 指定用户,如果当前为 root ,需要使用此参数指定用户 -P /tmp/a.pid 保存PID到指定文件 内存设置: ...
- event.srcElement兼容处理
在IE下,event对象有srcElement属性,但是没有target属性:Firefox下,even对象有target属性,但是没有srcElement属性.. 解决方法:使用obj(obj = ...
- Show a heart shaped
Windows Form application version: private void Form1_Load(object sender, EventArgs e) { ...