`
yeyuan
  • 浏览: 230846 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

【转】sphinx在windows下的安装与测试

阅读更多
转自:http://www.cnblogs.com/ainiaa/archive/2010/12/21/1912459.html

1.直接在http://www.sphinxsearch.com/downloads.html找到最新的windows版本,我这里下的是Win32 release binaries with MySQL support,下载后解压在D:\sphinx目录下;
2.在D:\sphinx\下新建一个data目录用来存放索引文件,一个log目录方日志文件,复制D:\sphinx\sphinx.conf.in到D:\sphinx\bin\sphinx.conf(注意修改文件名);
3.修改D:\sphinx\bin\sphinx.conf,我这里列出需要修改的几个:
type        = mysql # 数据源,我这里是mysql
sql_host    = localhost # 数据库服务器
sql_user    = root # 数据库用户名
sql_pass    = '' # 数据库密码
sql_db      = test # 数据库
sql_port    = 3306 # 数据库端口
sql_query_pre   = SET NAMES utf8 # 去掉此行前面的注释,如果你的数据库是uft8编码的
index test1
{
# 放索引的目录
 path   = D:/sphinx/data/
# 编码
 charset_type  = utf-8
 #  指定utf-8的编码表
 charset_table  = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
 # 简单分词,只支持0和1,如果要搜索中文,请指定为1
 ngram_len    = 1
# 需要分词的字符,如果要搜索中文,去掉前面的注释
 ngram_chars   = U+3000..U+2FA1F
}
# index test1stemmed : test1
# {
 # path   = @CONFDIR@/data/test1stemmed
 # morphology  = stem_en
# }
 
# 如果没有分布式索引,注释掉下面的内容
# index dist1
# {
 # 'distributed' index type MUST be specified
 # type    = distributed
 # local index to be searched
 # there can be many local indexes configured
 # local    = test1
 # local    = test1stemmed
 # remote agent
 # multiple remote agents may be specified
 # syntax is 'hostname:port:index1,[index2[,...]]
 # agent    = localhost:3313:remote1
 # agent    = localhost:3314:remote2,remote3
 # remote agent connection timeout, milliseconds
 # optional, default is 1000 ms, ie. 1 sec
 # agent_connect_timeout = 1000
 # remote agent query timeout, milliseconds
 # optional, default is 3000 ms, ie. 3 sec
 # agent_query_timeout  = 3000
# }
# 搜索服务需要修改的部分
searchd
{
 # 日志
 log     = D:/sphinx/log/searchd.log
 # PID file, searchd process ID file name
 pid_file   = D:/sphinx/log/searchd.pid
 # windows下启动searchd服务一定要注释掉这个
 # seamless_rotate  = 1
}


4.导入测试数据
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -uroot test<d:/sphinx/example.sql
5.建立索引
D:\sphinx\bin>indexer.exe –all
Sphinx 0.9.8-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff
using config file ‘./sphinx.conf’…
indexing index ‘test1′…
collected 4 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 4 docs, 193 bytes
total 0.101 sec, 1916.30 bytes/sec, 39.72 docs/sec
D:\sphinx\bin>


6.搜索’test’试试
D:\sphinx\bin>search.exe test
Sphinx 0.9.8-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff
using config file ‘./sphinx.conf’…
index ‘test1′: query ‘test ‘: returned 3 matches of 3 total in 0.000 sec
displaying matches:
1. document=1, weight=2, group_id=1, date_added=Wed Nov 26 14:58:59 2008
        id=1
        group_id=1
        group_id2=5
        date_added=2008-11-26 14:58:59
        title=test one
        content=this is my test document number one. also checking search within
 phrases.
2. document=2, weight=2, group_id=1, date_added=Wed Nov 26 14:58:59 2008
        id=2
        group_id=1
        group_id2=6
        date_added=2008-11-26 14:58:59
        title=test two
        content=this is my test document number two
3. document=4, weight=1, group_id=2, date_added=Wed Nov 26 14:58:59 2008
        id=4
        group_id=2
        group_id2=8
        date_added=2008-11-26 14:58:59
        title=doc number four
        content=this is to test groups
words:
1. ‘test’: 3 documents, 5 hits
D:\sphinx\bin>


6.测试中文搜索
修改test数据库中documents数据表,
UPDATE `test`.`documents` SET `title` = ‘测试中文’, `content` = ‘this is my test document number two,应该搜的到吧’ WHERE `documents`.`id` = 2;

重建索引:
D:\sphinx\bin>indexer.exe –all
搜索’中文’试试:
D:\sphinx\bin>search.exe 中文
Sphinx 0.9.8-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff
using config file ‘./sphinx.conf’…
index ‘test1′: query ‘中文 ‘: returned 0 matches of 0 total in 0.000 sec
words:
D:\sphinx\bin>


貌似没有搜到,这是因为windows命令行中的编码是gbk,当然搜不出来。我们可以用程序试试,在D:\sphinx\api下新建一个foo.php的文件,注意utf-8编码
<?php
require ‘sphinxapi.php’;
$s = new SphinxClient();
$s->SetServer(‘localhost’,3312);
$result = $s->Query(‘中文’);
var_dump($result);
?>

启动Sphinx searchd服务
D:\sphinx\bin>searchd.exe
Sphinx 0.9.8-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff
WARNING: forcing –console mode on Windows
using config file ‘./sphinx.conf’…
creating server socket on 0.0.0.0:3312
accepting connections

执行PHP查询:
php d:/sphinx/api/foo.php
分享到:
评论

相关推荐

    Sphinx 在WINDOWS和LINUX下安装入门与测试实例

    **Sphinx 在 WINDOWS 和 LINUX 下的安装入门与测试实例** Sphinx 是一款高效、全文搜索引擎,广泛用于构建网站的后台搜索功能。它支持多种数据库,包括 MySQL,提供高速索引和快速检索,使得数据搜索变得简单高效。...

    Sphinx在Windows下安装使用[支持中文全文检索]-搜索引擎技术

    网上的资料大多是在linux环境下的安装使用,当然,作为生产环境很有必要部署在*nix环境下,作为学习测试,还是windows环境比较方便些。 本文旨在提供一种便捷的方式让Sphinx在windows下安装配置以支持中文全文检索...

    window 下sphinx 2.2.11安装 及coreseek3.1 安装包及安装说明 ,简单php调试

    在Windows环境下搭建Sphinx 2.2.11与CoreSeek 3.1搜索引擎系统是一项技术性较强的任务,尤其对于初次接触全文检索引擎的人来说。本文将详细介绍这两个组件的安装过程,以及如何进行简单的PHP集成与调试。 Sphinx是...

    sphinx 的安装及使用 windws centos coreseek

    在描述中提到了一个博文链接,虽然具体内容没有给出,但可以推测博主“sinykk”分享了他在安装和配置Sphinx以及与Coreseek集成过程中的经验。由于没有实际的博文内容,我将基于一般流程来解释Sphinx的安装和使用。 ...

    sphinx-3.4.1-efbcc65-windows-amd64.zip

    1. **安装**: 在 Windows 上,你可以通过 pip(Python 的包管理器)来安装 Sphinx-3.4.1:`pip install sphinx==3.4.1` 2. **配置**: 创建一个名为 `conf.py` 的配置文件,设置输出格式、路径、主题等选项。 3. **...

    sphinx中文语音训练手册

    本文档介绍Sphinx4在Windows下的中文训练过程及注意事项,与本文档配套的是我自己的训练实例bergtrain和用到的软件。 本文档编写日期 2013-04-23 1、为什么要训练? sphinx4目前的版本中仅提供了英文等语音识别库。...

    sphinx的demo

    - `sphinx` 文件可能是 Sphinx 的源代码或者二进制包,用于在非 Windows 平台上安装。Sphinx 可以在 Linux、Mac OS X 和其他类 Unix 系统上运行。 2. **环境配置**: - 安装完成后,需要配置 Sphinx 的 `sphinx....

    sphinx-2.2.10-release-win64-full

    6. **Python环境**:由于Sphinx是用Python编写的,所以这个版本包含了一个与之兼容的Python解释器,确保在Windows环境下可以运行Sphinx。 7. **文档和示例**:通常,压缩包中还会包含Sphinx的官方文档和示例项目,...

    辛星笔记之Sphinx教程

    在Sphinx的具体实践中,我们首先需要安装Sphinx,可以通过包管理器如apt-get进行安装,并通过测试命令来确认安装是否成功。Sphinx还提供了一个名为Searchd的守护进程服务,它负责索引和搜索。Coreseek是基于Sphinx的...

    sphinx4-1.0beta6-src

    3. **多平台支持**:由于Sphinx4是用Java编写的,所以它可以在任何支持Java的平台上运行,包括Windows、Linux、Mac OS等。 4. **丰富的资源**:Sphinx4提供了一系列的示例程序和教程,帮助开发者快速上手,并且有一...

    最新版sphinx coreseek 4.1 win32

    它结合了Sphinx搜索引擎的强大性能和CoreSeek的中文处理能力,使得在中文环境下进行信息检索变得更为便捷。 Sphinx是一个开源全文搜索引擎,它拥有快速的索引速度和低内存占用,支持实时索引和多种数据源。CoreSeek...

    sphinx_coreseek使用手册

    #### 二、Windows 平台上安装和使用 Sphinx/Coreseek ##### 2.1 获取文件 - **Coreseek**:从官方网站 [www.coreseek.cn](http://www.coreseek.cn/) 获取最新版本的Coreseek,截至撰写本文时,版本为coreseek-4.1...

    PocketSphinxDemo

    10. **跨平台性**:由于是开源项目,PocketSphinx支持多种操作系统,包括Windows、Linux、macOS以及Android和iOS,具有广泛的适用性。 总的来说,"PocketSphinxDemo"提供了一个实践性的起点,帮助开发者了解并掌握...

    coreseek41-windows.zip

    CoreSeek41-Windows是一个专为Windows平台设计的全文搜索引擎软件包,主要包含了Sphinx技术,用于高效、精准地处理中文分词和全文检索。Sphinx是一款开源的、高性能的全文检索引擎,最初由俄罗斯开发者开发,现在...

    php5.3 _32位_redis_memcahce_sphinx扩展

    标题 "php5.3 _32位_redis_memcahce_sphinx扩展" 涉及的是在PHP 5.3 32位环境下安装和使用Redis、Memcache和Sphinx这三个扩展的过程。这些扩展是PHP与特定数据库和缓存系统交互的重要工具。 1. **Redis扩展**: ...

    PyPI 官网下载 | Sphinx-4.2.0-py3-none-any.whl

    资源全名:Sphinx-4.2.0-py3-none-any.whl"确认了这个文件的来源,并提供了完整的文件名,同时提示该文件在解压后可以直接用于安装。 **Sphinx介绍** Sphinx是一个强大的文档生成工具,广泛用于编写技术文档、项目...

    PHP+Mysql+Sphinx高效的站内搜索引擎搭建详释.docx

    #### 五、Sphinx的下载与安装 1. **下载**: - 访问[Coreseek官网](http://www.coreseek.cn/news/7/52/)找到适合自己操作系统的Sphinx版本。例如,如果你使用的是Windows系统,可以选择Coreseek Win32通用版。...

Global site tag (gtag.js) - Google Analytics