在windows下Sphinx\Coreseek的配置安装与测试
一、安装: 1. 安装Python 2.6 Windows (x86)(必须,32位系统和64位系统均安装该版本):从ActiveState官方网站下载ActivePython 2.6 Windows (x86),然后安装;您也可从华军软件园下载ActivePython 2.6 Windows (x86),然后安装; 2. 安装 Microsoft Visual C++ 2005 Redistributable Package (x86)(必须,32位系统和64位系统均安装该版本):从微软官方网站下载Microsoft Visual C++ 2005 Redistributable Package (x86),然后安装; 3. 安装 Coreseek-3.2.13(必须):【2010年11月14日更新,支持命令行中文搜索测试】从Coreseek官方网站下载 http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.13-win32.zip解压coreseek-3.2.13-win32.zip到coreseek-3.2.13-win32目录,重命名为sphinx,任意存放。
二、coreseek中文全文检索测试 直接运行coreseek-3.2.13-win32目录下的test.cmd文件,如果没出任何问题,则一切测试正常,相关手工命令测试请访问:http://www.coreseek.cn/products-install/install_on_windows/
三、部分命令的说明使用这一切命令的输入都在“cmd命令提示符”窗口里操作,假如:把sphinx目录放在D盘下,以下的所有例子将以这路径操作,不再说明。
1)、创建全部索引:
(注:这里的索引不是数据库里的索引,是不同的概念,这只对于coreseek而言,别混淆)
bin\indexer –c etc\csft_mysql.conf --all
备注:其中etc\csft_mysql.conf就是刚才的配置文件相对路径;如果修改了数据库中的数据,则要重建索引,类似于刷新,因为创建索引后会自动把数据库中的数据存储到内存中,所以必须重建索引。
2)、创建个别索引:
bin\indexer –c etc\csft_mysql.conf 索引名称1 索引名称2 …
3)、启动搜索服务:
bin\searchd –c etc\csft_mysql.conf --console
备注:启动服务后,当前的cmd窗口不能使用,使用搜索服务时不能关掉窗口,如想在cmd窗口中进行操作,可另打开一个cmd窗口。
4)、停止搜索服务:
直接Ctrl+C
5)、搜索关键字:
bin\search –c etc\csft_mysql.conf –a 关键字1 关键字2 …
四、连接mysql数据库及搜索内容:在etc\下有两个配置文件csft.conf 和 csft_mysql.conf ,其中第一个是测试安装成功与否,跟数据库无关;第二个是与数据库连接,相关参数大家可以用编辑器打开参考(建议不要用记事本);往后要配置自己的文件,可以参考csft_mysql.conf文件内容的格式,往下我们以例子讲解。
1、 创建数据库test ,编码为utf-8,数据库SQL脚本如下:
(如果不懂得这一步的,可以去参数有关mysql数据库资料)
CREATE TABLE test.documents
(
id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT,
group_id INTEGER NOT NULL,
group_id2 INTEGER NOT NULL,
date_added DATETIME NOT NULL,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL
);
REPLACE INTO test.documents ( id, group_id, group_id2, date_added, title, content ) VALUES
( 1, 1, 5, NOW(), '测试文档第一条', 'this is my test document number one. also checking search within phrases.' ),
( 2, 1, 6, NOW(), '测试文档第二条', 'this is my test document number two' ),
( 3, 2, 7, NOW(), '其它文档', 'this is another group' ),
( 4, 2, 8, NOW(), '第四条文档', 'this is to test groups' );
2、 配置数据库文件,这里使用官方准备好的配置文件 csft_mysql.conf ,里面已配置好与数据库test连接,及对数据表的查询等。
详细说明请访问官网:http://www.coreseek.cn/products-install/mysql/
3、 创建索引,这里创建csft_mysql.conf配置中的全部索引
在cmd中输入 bin\indexer –c etc\csft_mysql.conf --all
成功创建索引后的信息
4、 启动coreseek搜索服务
在cmd中输入 bin\searchd –c etc\csft_mysql.conf --console
成功启动服务后的信息
5、 实现搜索功能
在documents表中,搜索字段content中的内容含有“document”字符串的记录
在另一个cmd中输入 bin\search –c etc\csft_mysql.conf –a document
搜索后显示的信息
这里把搜索到的记录信息显示出来,其中title=?????? ,这是乱码问题,具体解决方法可以参考官方资料,这里不详细说明。
五、PHP与coreseek检索引擎实现搜索
如果要将搜索结果应用到自己的PHP程序之中,请使用api目录下对应的api接口测试。
1、将api目录下的sphinxapi.php 文件拷贝到PHP网站的目录下,这里我把它放在根目录下。
2、在根目录下创建index.php文件,代码如下:
<?php
//注意文件的编码格式需要保存为为UTF-8格式
require ( "sphinxapi.php" );
$cl = new SphinxClient ();
$cl->SetServer ( '127.0.0.1', 9312);
//以下设置用于返回数组形式的结果
$cl->SetArrayResult ( true );
/*
//ID的过滤
//$cl->SetIDRange(3,4);
//sql_attr_uint等类型的属性字段,需要使用setFilter过滤,类似SQL的WHERE group_id=2
//$cl->setFilter('group_id',array(2));
//sql_attr_uint等类型的属性字段,也可以设置过滤范围,类似SQL的WHERE group_id2>=6 AND group_id2<=8
//$cl->SetFilterRange('group_id2',6,8);
*/
//取从头开始的前20条数据,0,20类似SQl语句的LIMIT 0,20
//$cl->SetLimits(0,20);
//在做索引时,没有进行 sql_attr_类型 设置的字段,可以作为“document”,进行全文搜索
$res = $cl->Query ( ' document ', "*" ); //"*"表示在所有索引里面同时搜索,"索引名称"则表示搜索指定的
//如果需要搜索指定全文字段的内容,可以使用扩展匹配模式:
//$cl->SetMatchMode(SPH_MATCH_EXTENDED);
//$res=cl->Query( '@title 测试' , "*")
echo '<pre>';
print_r($res['matches']);
print_r($res);
echo '</pre>';
?>
3、创建全部索引,启动搜索服务,相关操作可参考以上 “四、连接mysql数据库及搜索内容”。
4、运行index.php文件,查看搜索结果:
从结果中看,总共搜索出两条记录,全部存储在一个数组中。
Array
(
[0] => Array
(
[id] => 1
[weight] => 1
[attrs] => Array
(
[group_id] => 1
[date_added] => 1290775649
)
)
[1] => Array
(
[id] => 2
[weight] => 1
[attrs] => Array
(
[group_id] => 1
[date_added] => 1290775649
)
)
)
Array
(
[error] => 【本次查询的错误信息】
[warning] =>
[status] => 0
[fields] => Array
(
[0] => title
[1] => content
)
[attrs] => Array
(
[group_id] => 1
[date_added] => 2
)
[matches] => Array 【匹配到的文档信息】
(
[0] => Array
(
[id] => 1 【文档的ID】
[weight] => 1
[attrs] => Array
(
[group_id] => 1
[date_added] => 1290775649
)
)
[1] => Array
(
[id] => 2
[weight] => 1
[attrs] => Array
(
[group_id] => 1
[date_added] => 1290775649
)
)
)
[total] => 2 【本次查询返回的结果数目,例如翻页等使用】
[total_found] => 2 【整个系统包含的结果数目】
[time] => 0.001 【查询使用的时间】
[words] => Array 【分词结果】
(
[document] => Array
(
[docs] => 2 【该词汇匹配到的文档数目】
[hits] => 2 【该词汇出现的次数】
)
)
)
这是本人经过几天的努力,摸索出来的一点点经验,希望能帮助有需要的朋友们!如有疑问请留言,我会尽量帮忙!谢谢!
分享到:
相关推荐
./configure --prefix=/usr/local/coreseek make sudo make install ``` ### 5. 配置Sphinx 编辑`/etc/sphinxsearch/sphinx.conf`,设置索引、源、日志、端口等参数。例如: ```ini index test { source = test_...
Sphinx 0.9.9/Coreseek 3.2 参考手册,完全离线版。
#### 二、Windows 平台上安装和使用 Sphinx/Coreseek ##### 2.1 获取文件 - **Coreseek**:从官方网站 [www.coreseek.cn](http://www.coreseek.cn/) 获取最新版本的Coreseek,截至撰写本文时,版本为coreseek-4.1...
Sphinx的安装过程涉及多个方面,包括选择支持的操作系统、安装必要的工具、配置环境变量、以及如何在不同的操作系统(如Linux、BSD、Windows)上安装。安装过程中可能会遇到一些问题,文档中也提供了一些已知问题的...
在描述中提到了一个博文链接,虽然具体内容没有给出,但可以推测博主“sinykk”分享了他在安装和配置Sphinx以及与Coreseek集成过程中的经验。由于没有实际的博文内容,我将基于一般流程来解释Sphinx的安装和使用。 ...
sphinx-coreseek中文手册 sphinx-coreseek中文手册 sphinx-coreseek中文手册 sphinx-coreseek中文手册
### Windows 下安装使用 Sphinx #### 一、Sphinx 概述 Sphinx 是一款由俄罗斯开发者 Andrew Aksyonoff 开发的高性能全文搜索软件包,它支持 GPL 和商业许可协议。全文检索是一种信息检索技术,它以文档的全部文本...
CoreSeek的配置文件通常位于`/usr/local/coreseek/etc/`目录下,你需要根据自己的需求修改`searchd.conf`和`conf/`目录下的其他配置文件。例如,设置数据源、索引路径、端口等参数。 七、启动与测试 完成配置后,...
在`/usr/local/coreseek/bin`目录下,你可以找到`searchd`和` indexer`这两个关键命令。首次启动服务: ```bash /usr/local/coreseek/bin/searchd --config /path/to/csft.conf ``` 要创建或更新索引,运行: ```...
Sphinx 0.9.9/Coreseek 3.2 参考手册 离线版 Sphinx--强大的开源全文检索引擎,Coreseek--免费开源的中文全文检索引擎 在线地址: http://www.coreseek.cn/docs/coreseek_3.2-sphinx_0.9.9.html
$ ./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql $ make && make ...
在Windows环境下搭建Sphinx 2.2.11与CoreSeek 3.1搜索引擎系统是一项技术性较强的任务,尤其对于初次接触全文检索引擎的人来说。本文将详细介绍这两个组件的安装过程,以及如何进行简单的PHP集成与调试。 Sphinx是...
通过以上步骤,我们不仅了解了Sphinx和Coreseek的强大功能,还学会了如何在Windows和Linux环境下安装、配置并使用这些工具。无论是对于提高网站的搜索性能还是对于构建高效的数据检索系统来说,掌握这些技术都是非常...
在IT领域,Sphinx、MMSEG、CoreSeek和搜狗词库是四个与搜索引擎和文本处理相关的技术。这里,我们将详细探讨这些技术及其在实际应用中的作用。 首先,Sphinx是一个开源全文搜索引擎,广泛用于网站后台,提供高效、...
在提供的压缩包文件中,我们可以看到多个批处理脚本,这些脚本可能是用于测试和配置Sphinx CoreSeek 4.1的。例如: 1. `shop.bat` 和 `my.bat` 可能是针对特定应用场景或数据库(如电商或MySQL)的测试脚本。 2. `...
在安装和配置完 Sphinx 后,你可以将其导入到你的数据库中,作为创建索引的数据源。假设这个文件包含一个 `documents` 表,表中有文章标题、内容等字段,你可以将这些字段配置为索引的字段,并通过 `indexer` 创建...