Sphinx(斯芬克斯的安装及使用)
2016-07-25 15:56
756 查看
1.说明:
Sphinx是一个基于SQL的全文检索引擎,可以结合 MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。
Sphinx 单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建索引的速度为:创建100万条记录的索引只需 3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒。
Sphinx的主要特性包括:高 速索引 (在新款CPU上,近10 MB/秒); 高速搜索 (2-4G的文本量中平均查询速度不到0.1秒); 高可用性 (单CPU上最大可支持100 GB的文本,100M文档); 提供良好的相关性排名 支持分布式搜索; 提供文档摘要生成; 提供从MySQL内部的插件式存储引擎上搜索 支持布尔,短语, 和近义词查询; 支持每个文档多个全文检索域(默认最大32个); 支持每个文档多属性; 支持断词; 支持单字节编码与UTF-8编码;
2.windows下面的安装使用:
我们一般安装的sphinx大多数是Coreseek:
coreseek是一款基于sphinx开源的搜索引擎,专门为用户提供免费的中文全文检索系统,coreseek被称为带有中文分词的sphinx,与sphinx不同的是coreseek增加了一个带有中文分词的词库,这里使用了coreseek
3.2.14版本进行解讲。我是在F盘下安装的所以下面都是在F盘操作。
1>首先将coreseek-3.2.14-win32.zip 打开解压。
2>由于coreseek是开源产品,所以在windows下面不需要安装,我们直接进入即可。
3>进入后我们看到如图所示文件:
4>进入etc目录打开csft_mysql.conf文件,修改文件:
图文中讲的已经非常详细了,这里我说一下红线标记的地方region_id都要换成你表中的主键id。
5>使用cmd命令行进入该目录如图:
6>输入如下命令 开始生成索引文件
.\bin\indexer.exe -c .\etc\csft_mysql.conf --all
输入完毕之后出现如下图所示你的索引就创建好啦!(如图):
7>输入以下命令开启coreseek
.\bin\searchd.exe -c .\etc\csft_mysql.conf
输入完毕如下图所示如果没出任何问题你的coreseek搜索服务就开启拉
安装到这里就结束了!!!下面给大家在php中,yii框架中使用一下。
1.PHP中使用:
我的环境是PHPStudy所有我放在WWW目录下我创建了一个sphinx文件夹里面放入如图所示的两个PHP文件:
Ses.php里面的内容如图:
<?php
header("content-type:text/html;charset=utf8");
include'./sphinxapi.php'; //包含sphinxapi类
$sphinx=new
SphinxClient(); //实例化
$sphinx->SetServer('127.0.0.1',9312);//链接
$res=$sphinx->Query("所查字段","*");//查询的字段第二参数是你配置文件里面写得规则这里是*就会匹配所有规则
print_r($res);//打印数据
?>
2.YII框架操作:
首先我们把生成的索引文件api中的sphinxapi.php放在自己yii框架中的vendor/composer。
然后在进入vendor/autoload.php文件(如图:)
然后在我们控制器下开始操作(如图)
这样我们的yii框架简单操作sphinx就完成了。
Sphinx是一个基于SQL的全文检索引擎,可以结合 MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。
Sphinx 单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建索引的速度为:创建100万条记录的索引只需 3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒。
Sphinx的主要特性包括:高 速索引 (在新款CPU上,近10 MB/秒); 高速搜索 (2-4G的文本量中平均查询速度不到0.1秒); 高可用性 (单CPU上最大可支持100 GB的文本,100M文档); 提供良好的相关性排名 支持分布式搜索; 提供文档摘要生成; 提供从MySQL内部的插件式存储引擎上搜索 支持布尔,短语, 和近义词查询; 支持每个文档多个全文检索域(默认最大32个); 支持每个文档多属性; 支持断词; 支持单字节编码与UTF-8编码;
2.windows下面的安装使用:
我们一般安装的sphinx大多数是Coreseek:
coreseek是一款基于sphinx开源的搜索引擎,专门为用户提供免费的中文全文检索系统,coreseek被称为带有中文分词的sphinx,与sphinx不同的是coreseek增加了一个带有中文分词的词库,这里使用了coreseek
3.2.14版本进行解讲。我是在F盘下安装的所以下面都是在F盘操作。
1>首先将coreseek-3.2.14-win32.zip 打开解压。
2>由于coreseek是开源产品,所以在windows下面不需要安装,我们直接进入即可。
3>进入后我们看到如图所示文件:
4>进入etc目录打开csft_mysql.conf文件,修改文件:
图文中讲的已经非常详细了,这里我说一下红线标记的地方region_id都要换成你表中的主键id。
5>使用cmd命令行进入该目录如图:
6>输入如下命令 开始生成索引文件
.\bin\indexer.exe -c .\etc\csft_mysql.conf --all
输入完毕之后出现如下图所示你的索引就创建好啦!(如图):
7>输入以下命令开启coreseek
.\bin\searchd.exe -c .\etc\csft_mysql.conf
输入完毕如下图所示如果没出任何问题你的coreseek搜索服务就开启拉
安装到这里就结束了!!!下面给大家在php中,yii框架中使用一下。
1.PHP中使用:
我的环境是PHPStudy所有我放在WWW目录下我创建了一个sphinx文件夹里面放入如图所示的两个PHP文件:
Ses.php里面的内容如图:
<?php
header("content-type:text/html;charset=utf8");
include'./sphinxapi.php'; //包含sphinxapi类
$sphinx=new
SphinxClient(); //实例化
$sphinx->SetServer('127.0.0.1',9312);//链接
$res=$sphinx->Query("所查字段","*");//查询的字段第二参数是你配置文件里面写得规则这里是*就会匹配所有规则
print_r($res);//打印数据
?>
2.YII框架操作:
首先我们把生成的索引文件api中的sphinxapi.php放在自己yii框架中的vendor/composer。
然后在进入vendor/autoload.php文件(如图:)
然后在我们控制器下开始操作(如图)
这样我们的yii框架简单操作sphinx就完成了。
相关文章推荐
- multidex分包续:将指定的类打包到主dex中
- 机器结构-业务分割法
- leetcode 43. Multiply Strings
- BTree,B+Tree,B*Tree
- 怎么直接在MySQL客户端上执行SQl文件?
- easyui tree关闭所有节点
- QuerySet创建新对象的方法和获取对象的方法
- 九型人格判定
- 让你从繁琐的sql语句中脱身(mybatis框架的进一步封装 )
- LeetCode 算法刷题(3)
- 关于Linux下.so的介绍和编写过程
- java字符串 输入流 相互转换
- a标签事件冒泡
- 构建我自己的知识体系
- iOS交互式动画详解(上):iOS 10以下的实现
- Springboot项目启动
- (一)安装openoffice.org
- 网络性能测试工具Iperf/Jperf解读
- Java加密解密
- iOS 导航栏隐藏和显示引起问题的解决方案