Sphinx在windows上的安装使用
2016-08-30 01:39
239 查看
Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,
它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。
Sphinx特别为一些脚本语言设计搜索API接口。
特性:
高速索引;
高速搜索 ;
高可用性 ;
提供良好的相关性排名 支持分布式搜索;
提供文档摘要生成;
提供从MySQL内部的插件式存储引擎上搜索;
支持每个文档多个全文检索域;
支持每个文档多属性;
支持断词;
支持单字节编码与UTF-8编码;
Sphinx在mysql上的应用有两种方式
①、采用API调用,如使用PHP、java等的API函数或方法查询。优点是可不必对mysql重新编译,服务端进程“低耦合”,且程序可灵活、方便的调用;
缺点是如已有搜索程序的条件下,需修改部分程序。推荐程序员使用。
②、使用插件方式(sphinxSE)把sphinx编译成一个mysql插件并使用特定的sql语句进行检索。其特点是,在sql端方便组合,且能直接返回数据给客户端
不必二次查询(注),在程序上仅需要修改对应的sql,但这对使用框架开发的程序很不方便,比如使用了ORM。另外还需要对mysql进行重新编译,且需要mysql-5.1以上版本
支持插件存储。系统管理员可使用这种方式
1.下载
这里使用的是sphinx-2.2.11-release-win64
2.下载后解压在 E:\sphinx 目录下
在mysql新建数据库test,导入example.sql
3.建立配置文件
复制 E:\sphinx\sphinx.min.conf.in 到 E:\sphinx\bin\sphinx.conf
修改sphinx.conf必要项
(1)mysql数据库连接项;
(2)@CONFDIR@替换成实际目录,然后手动建立好该目录及子目录,这里为
4. 安装Sphinx到Windows服务
5. PHP客户端测试
进入E:\sphinx\api目录,sphinx提供了php, python , ruby , c等客户端代码,如果Php程序员想访问Sphinx,包含sphinxapi.php就可以了 ,test.php是Sphinx提供的访问例子。
在测试之前,需要生成索引文件到E:\shpinx\data目录,进入E:\sphinx\bin执行
运行成功后必须重新启动Sphinx才能生效。
在启用服务的时候提示”发生系统错误1067″,查了下资料,这需要在安装服务的时候指定配置文件的路径
因为系统中已存在searchd服务所以需要先删除,再重新install
重启后执行test.php
出现了错误Query failed: connection to localhost:9312 failed (errno=10060, msg=由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
如果本地使用IPV4、IPV6双栈网络(windows 7),默认localhost 指向IPV6
改为:127.0.0.1就好了
修改test.php的host
$host = "127.0.0.1";
再执行test.php
searchd的启动与停止
它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。
Sphinx特别为一些脚本语言设计搜索API接口。
特性:
高速索引;
高速搜索 ;
高可用性 ;
提供良好的相关性排名 支持分布式搜索;
提供文档摘要生成;
提供从MySQL内部的插件式存储引擎上搜索;
支持每个文档多个全文检索域;
支持每个文档多属性;
支持断词;
支持单字节编码与UTF-8编码;
Sphinx在mysql上的应用有两种方式
①、采用API调用,如使用PHP、java等的API函数或方法查询。优点是可不必对mysql重新编译,服务端进程“低耦合”,且程序可灵活、方便的调用;
缺点是如已有搜索程序的条件下,需修改部分程序。推荐程序员使用。
②、使用插件方式(sphinxSE)把sphinx编译成一个mysql插件并使用特定的sql语句进行检索。其特点是,在sql端方便组合,且能直接返回数据给客户端
不必二次查询(注),在程序上仅需要修改对应的sql,但这对使用框架开发的程序很不方便,比如使用了ORM。另外还需要对mysql进行重新编译,且需要mysql-5.1以上版本
支持插件存储。系统管理员可使用这种方式
1.下载
这里使用的是sphinx-2.2.11-release-win64
2.下载后解压在 E:\sphinx 目录下
在mysql新建数据库test,导入example.sql
3.建立配置文件
复制 E:\sphinx\sphinx.min.conf.in 到 E:\sphinx\bin\sphinx.conf
修改sphinx.conf必要项
(1)mysql数据库连接项;
(2)@CONFDIR@替换成实际目录,然后手动建立好该目录及子目录,这里为
E:\sphinx\data # 索引数据目录 E:\sphinx\log # 进程文件目录
4. 安装Sphinx到Windows服务
searchd.exe --install -c sphinx.conf --servicename SphinxSearch
5. PHP客户端测试
进入E:\sphinx\api目录,sphinx提供了php, python , ruby , c等客户端代码,如果Php程序员想访问Sphinx,包含sphinxapi.php就可以了 ,test.php是Sphinx提供的访问例子。
在测试之前,需要生成索引文件到E:\shpinx\data目录,进入E:\sphinx\bin执行
indexer.exe -c sphinx.conf --all
运行成功后必须重新启动Sphinx才能生效。
在启用服务的时候提示”发生系统错误1067″,查了下资料,这需要在安装服务的时候指定配置文件的路径
因为系统中已存在searchd服务所以需要先删除,再重新install
重启后执行test.php
php test.php test
出现了错误Query failed: connection to localhost:9312 failed (errno=10060, msg=由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
如果本地使用IPV4、IPV6双栈网络(windows 7),默认localhost 指向IPV6
改为:127.0.0.1就好了
修改test.php的host
$host = "127.0.0.1";
再执行test.php
searchd的启动与停止
net start/stop searchd
相关文章推荐
- mysql Sphinx在windows下安装使用[支持中文全文检索]
- sphinx在windows下的简单安装与使用
- Sphinx 在 windows 下安装使用
- Sphinx 在 windows 下安装使用
- Sphinx 在 windows 下安装使用
- Sphinx在windows下安装使用[支持中文全文检索]
- sphinx安装使用之(wamp&lamp,windows)
- sphinx在windows下的简单安装与使用
- sphinx中文版Coreseek中文检索引擎安装和使用方法(Windows)
- Sphinx 在 windows 下安装使用
- sphinx 在windows 环境下安装与使用
- Windows下安装sphinx和创建索引及使用
- sphinx在windows下的简单安装与使用
- Windows下安装使用Sphinx
- windows+sphinx+php 安装+配置+使用
- Sphinx在windows下安装使用[支持中文全文检索]
- 搜索引擎Sphinx在windows下安装使用
- sphinx-for-chinese在windows下安装与使用方法
- Sphinx在windows下安装使用[支持中文全文检索]
- 【转】Sphinx在windows下安装使用[支持中文全文检索]