`
zhengdl126
  • 浏览: 2542698 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Sphinx mysql 安装和测试

阅读更多

参考网站
http://www.sphinxsearch.com/wiki/doku.php?id=sphinx_chinese_tutorial
http://ri0day.blogbus.com/logs/41975837.html

 

 

==========================================================1 安装
 因为我的LAMP环境已经配置好,所以只需要安装sphinx。


sphinx-0.9.8与MySQL5.1.x一起使用会出错,换成低版本的MySQL5.0.x


sudo apt-get install libmysqlclient15-dev


wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8.1.tar.gz

 

tar xzvf sphinx-0.9.8.1.tar.gz

 

cd sphinx-0.9.8.1/

 

./configure --prefix /usr/local/sphinx --with-mysql
make
sudo make install

 


==========================================================2 测试sphinx自带的demo。
  1、导入数据库文件example.sql。
      该文件在test数据库新建立一个documents,并插入基本的测试数据。
  2、修改sphinx.conf
cd /usr/local/sphinx/etc
cp sphinx.conf.dist sphinx.conf
vim sphinx.conf

 

主要修改以下几个参数
第一、连接数据库的用户名和密码


        sql_user        = root
  sql_pass        = ***** #你自己的密码


第二、索引路径

path      = /usr/local/sphinx/var/data/test1


==========================================================3 建立索引
indexer是建立索引的程序,具体参数可以在命令行下查看帮助


root@ubuntu-desktop:/usr/local/sphinx/etc# /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf test1
Sphinx 0.9.8.1-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff

using config file '/usr/local/sphinx/etc/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.245 sec, 788.77 bytes/sec, 16.35 docs/sec

 

 

 

 

 

 

 

==========================================================4 开启查询的守护进程

/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf

 


E:\web\sphinx>bin\searchd --config sphinx.conf
Sphinx 0.9.8-release (r1371)
Copyright (c) 2001-2008, Andrew Aksyonoff

WARNING: forcing --console mode on Windows
using config file 'sphinx.conf'...
WARNING: index 'test1stemmed': preload: failed to open @CONFDIR@/data/test1stemm
ed.sph: No such file or directory; NOT SERVING
WARNING: index 'dist1': no such local index 'test1stemmed' - SKIPPING LOCAL INDE
X
creating server socket on 0.0.0.0:3312
accepting connections


注意开启3312端口,并修改相应的参数

 

==========================================================5 查询测试。
查询了两次,分别是ggart和another。结合数据库查看,结果是正确的。

root@ubuntu-desktop:/usr/local/sphinx/bin# /usr/local/sphinx/bin/search -c /usr/local/sphinx/etc/sphinx.conf ggart
Sphinx 0.9.8.1-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff

using config file '/usr/local/sphinx/etc/sphinx.conf'...
index 'test1': query 'ggart ': returned 0 matches of 0 total in 0.000 sec

words:
1. 'ggart': 0 documents, 0 hits

index 'test1stemmed': search error: failed to open /usr/local/sphinx/var/data/test1stemmed.sph: No such file or directory.

 

 

 

root@ubuntu-desktop:/usr/local/sphinx/bin# /usr/local/sphinx/bin/search -c /usr/local/sphinx/etc/sphinx.conf another
Sphinx 0.9.8.1-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff

using config file '/usr/local/sphinx/etc/sphinx.conf'...
index 'test1': query 'another ': returned 1 matches of 1 total in 0.000 sec

displaying matches:
1. document=3, weight=2, group_id=2, date_added=Sat Aug  8 23:34:22 2009
        id=3
        group_id=2
        group_id2=7
        date_added=2009-08-08 23:34:22
        title=another doc
        content=this is another group

words:
1. 'another': 1 documents, 2 hits

index 'test1stemmed': search error: failed to open /usr/local/sphinx/var/data/test1stemmed.sph: No such file or directory.

 

 

 

 

 

===================================调用Sphinx:未完待续

 

应用程序如果想调用Sphinx,可以从两个方面:

一是通过Sphinx官方提供的API接口(接口有Python,Java,Php三种版本)

二是通过安装SphinxSE(具体见1.2部分),然后创建一个中介sphinxSE类型的表,再通过执

行特定的SQL语句实现。

 

------------------通过官方API调用Sphinx(以PHP为例)

在sphinx解压目录有一个API目录,里面有三个PHP文件:test.php,test2.php和

sphinxapi.php。sphinxapi.php是sphinx调用接口封装文件,test.php是一个在命令行下执

行的查询例子文件,test2.php是一个生成摘要的例子文件。

在命令下行运行test.php(Linux上没有API目录,需要从源程序包中复制api目录

至/usr/local/sphinx)
cd /usr/local/sphinx
cp -rf /tmp/sphinx-0.9.8.1/api/ ./

Linux上(php在/usr/local/php目录???????????????????????????????????
,sphinx.conf在/usr/local/sphinx目录):
cd /usr/local/sphinx
/usr/local/php/bin/php api/test.php -i cgfinal CGArt

 

test2.php是一个摘要生成的例子文件,如果你的本地机器已装好sphinx,php运行环境,你

可以通过浏览器看查看test2.php的运行效果。


-------------------采用SphinxSE方式调用Sphinx
采用sphinxSE必须要求为mySQL安装sphinxSE Engine驱动
进入mysql命令行,运行show engines,看是不是有一个叫sphinx的engine,有的话就表示

sphinxSE(mysql的sphinx引擎)安装正常了


要创建一张sphinx 专用表,你可以这样建
CREATE TABLE `sphinx` (
`id` int(11) NOT NULL,
`weight` int(11) NOT NULL,
`query` varchar(255) NOT NULL,
`CATALOGID` INT NOT NULL,
`EDITUSERID` INT NOT NULL,
`HITS` INT NULL,
`ADDTIME` INT NOT NULL,
KEY `Query` (`Query`)
) ENGINE=SPHINX DEFAULT CHARSET=utf8

CONNECTION='sphinx://localhost:3312/cgfinal';
注:与一般mysql表不同的是ENGINE=SPHINX DEFAULT CHARSET=utf8

CONNECTION='sphinx://localhost:3312/cgfinal';,这里表示这个表采用SPHINXSE引擎,字

符集是utf8,与sphinx的连接串是'sphinx://localhost:3312/cgfinal,cgfinal是索引名称

 

 

 

 

分享到:
评论

相关推荐

    用Sphinx搭建MySQL中文全文搜索

    6. **测试搜索**: 使用SQL语句进行全文搜索测试,确保Sphinx和MySQL的集成正常工作。 在压缩包文件中,"附件"可能包含了Sphinx的安装包、配置示例、MySQL的SQL文件以及可能的词典文件。"╕╜╝■"这个文件名看起来...

    搭建Sphinx+MySQL5.1x+SphinxSE+mmseg中文分词搜索引擎架构

    为了实现这一功能,需要在`sphinx.conf`配置文件中明确指定Sphinx的数据源,包括如何读取MySQL中的数据以及哪些表和字段需要被建立索引。例如,可以通过设置来让Sphinx对`cdb_threads`表的`subject`和`author`字段...

    MYSQL sphinx学习

    3. **search**:命令行测试工具,用于验证索引和测试搜索功能。 4. **API 库**:提供了多种编程语言的接口,方便开发者将 Sphinx 集成到自己的应用程序中。 Sphinx 的优势在于其强大的索引能力,支持实时增量索引,...

    sphinx 的安装及使用 windws centos coreseek

    Sphinx支持多种操作系统,包括Windows和CentOS,这表明这篇博客将介绍如何在这些不同的平台上安装和使用Sphinx。"Coreseek"是Sphinx在中国的一个流行分发版,它集成了中文分词器,更适合处理中文数据。 在描述中...

    php+mysql+sphinx实现近实时索引

    6. **测试和优化**:测试索引的创建和查询性能,根据需求进行调整优化。 在提供的文件中,"实现全文搜索.docx"可能包含了如何使用PHP和Sphinx搭建全文搜索系统的详细步骤,包括配置、代码示例和问题解决策略。而...

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

    **Sphinx 在 WINDOWS 和 LINUX 下的安装入门与测试实例** Sphinx 是一款高效、全文搜索引擎,广泛用于构建网站的...通过 `documents.sql` 文件,我们可以进一步了解如何利用实际数据来测试和优化 Sphinx 的搜索性能。

    sphinx 安装及使用

    ### Sphinx 安装及使用详解 #### 一、Sphinx简介 Sphinx是一款高性能的全文搜索引擎,主要用于提高大型数据集的搜索效率。它能够独立运行,也可以作为应用程序的一部分嵌入到其他软件中。Sphinx主要适用于对性能...

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

    - 使用` indexer --config sphinx.conf --all --rotate`命令测试索引重建,确保索引更新成功。 - 在PHP中,使用`var_dump()`或`print_r()`函数输出查询结果,以检查返回的数据是否符合预期。 以上是关于在Windows...

    sphinx 测试可用 改下数据库

    1. 安装:正确安装Sphinx和相关依赖,如CoreSeek。 2. 配置:修改`sphinx.conf`,设置数据源、索引、搜索日志等参数,特别是数据库连接信息,以适应你的需求。 3. 创建索引:使用`sphinxbuild`工具或者配置文件中的...

    sphinx+coreseek安装配置

    测试和优化 完成上述步骤后,通过PHP发送查询,测试搜索功能是否正常。根据实际需求,可能还需要进行性能优化,如调整索引设置、增加硬件资源等。 总结,Sphinx+CoreSeek的安装配置涉及到多个步骤,包括源码编译...

    PHP搜索引擎Sphinx使用教程.zip

    文件名“PHP+Sphinx+Mysql做搜索引擎_lj详细.doc”和“PHP+MySQL+SPHINX安装配置与测试 - CSDN博客.url”暗示了教程将涵盖这一整合过程。 4. **Sphinx API**:Sphinx不仅支持PHP,还支持Python、Perl和Ruby等其他...

    sphinx安装包,不错的东西

    8. **测试**:通过`search`命令进行简单的搜索测试,确保Sphinx已正确安装并运行。 对于开发人员来说,了解如何使用Sphinx API在应用中调用搜索功能也非常重要。例如,你可以使用Python的`SphinxQL`库,或者根据...

    Linux下php+sphinx实例

    7. **测试和优化**: 一旦设置完成,你可以通过PHP页面输入搜索关键词进行测试。根据性能和准确性调整Sphinx配置,如排序方式、同义词处理、停用词列表等。 总结,结合Linux、PHP和Sphinx,你可以构建一个高效、...

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

    通过本文的介绍,我们可以了解到Sphinx是一个非常强大的全文检索工具,它能够极大地提升网站搜索功能的性能和用户体验。结合PHP和MySQL使用,可以构建出高效稳定的站内搜索引擎。对于需要处理大量文本数据的应用场景...

    sphinx2.2.10版本tar.gz包

    Sphinx提供实时、高效的全文索引和搜索能力,支持多种数据源,如MySQL、PostgreSQL等数据库,以及XMLpipe2这样的自定义数据流。通过使用Sphinx,开发者可以创建高性能的搜索解决方案,提供精确的匹配度和快速的响应...

Global site tag (gtag.js) - Google Analytics