对mysql数据库中全文搜索引擎--sphinx的初步研究--by森爷
来源:互联网 发布:燕定美中教育 知乎 编辑:程序博客网 时间:2024/04/30 08:18
正如冰与火之歌中兰尼斯特家族的誓言:A Lannister always pay his debts.森爷也绝不食言前面的博文中所说过的话。虽然还没有一个人(哪怕一个也好)在我的博客里留过言或者发过评论,但是,我还是对发博文保持了比较良好的自娱自乐精神,笔耕不辍。
sphinx是一个全文搜索引擎,当然其本身并不直接支持中文的检索。因此,这里,我使用了中文改良版coreseek.
1.安装coreseek。
请百度之。
2.安装过后,我们就要对想要建立索引的表的字段建立索引了。sphinx将会进行类似于lucence的分词和建立索引的过程,最终根据用户写的配置文件来实现建立索引的过程。我们需要做的,就是写一个后缀名为conf的配置文件,放在etc目录下。这个文件的简单格式如下:
source testindexsource{type = mysqlsql_host = localhostsql_user = rootsql_pass =sql_db = testsql_port = 3306sql_query_pre = SET NAMES utf8sql_query = SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content FROM documentssql_attr_timestamp = addtime}index testindex{source = testindexsourcepath = c:/usr/local/coreseek-4.1-win32/var/data/testindexcharset_dictpath = c:/usr/local/coreseek-4.1-win32/etc/charset_type = zh_cn.utf-8}searchd{listen = 9312max_matches = 1000pid_file = c:/usr/local/coreseek-4.1-win32/var/log/searchd_mysql.pidlog = c:/usr/local/coreseek-4.1-win32/var/log/searchd_mysql.logquery_log = c:/usr/local/coreseek-4.1-win32/var/log/query_mysql.log}相信大家都能看懂里面的参数的意思,有几个需要说明一下的是:testindex为建立的索引的名称。testindex参数列表中的source应该与上面的source同名。serchd是coreseek提供的一个服务进程。它的服务端口号是9312。
ok。我们写完了这个配置文件,将其放入etc目录下。
然后,我们输入命令 e:\coreseek\bin\indexer --config e:\coreseek\etc\mysql.conf --all,来建立索引。其中,以e盘开头的字符串是coreseek的安装目录。
然后,我们输入命令:e:\coreseek\bin\searchd --config e:\coreseek\etc\mysql.conf启动coreseek服务进程。
最后,我们来使用建好的索引来查找mysql数据库中的关键字。
在 web根目录下建立一个search目录(当然不在根目录也行,同样目录名也可以随取),复制E:\coreseek\api\ sphinxapi.php文件到search目录(sphinxapi.php这个是sphinx官方提供的api),开始php程序的编写。
在search目录建立一个文件,名字叫啥都行,我管它叫index.php,其内容如下:
<?phpinclude 'sphinxapi.php';$sc=new SphinxClient();$sc->SetServer("localhost",9312);$result=$sc->Query('opera','testindex');var_dump($result);?>其中,opera为我要找的关键字,testindex为配置文件中的索引名称。至此,我们就完成了使用coerseek来快速查找mysql数据库中的关键字的过程。
- 对mysql数据库中全文搜索引擎--sphinx的初步研究--by森爷
- sphinx(斯芬克斯)mysql全文搜索引擎
- 全文搜索引擎sphinx搜学习研究开篇
- 搭建Sphinx全文搜索引擎
- 基于mysql的搜索引擎 Sphinx
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计[转载]
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- Sphinx 全文搜索引擎 速成指南
- 全文搜索引擎sphinx .net接口
- Sphinx 全文搜索引擎 介绍指南
- Linux 全文搜索引擎 Sphinx 使用
- PHP之SPHINX的使用(全文搜索引擎)
- 对EBS中配置文件的初步研究
- JDBC
- Ubuntu Server版本安装桌面环境
- Linux内核分析 - 网络[十一]:ICMP模块
- Adroid学习笔记
- 黑马程序员_IO流——管道流
- 对mysql数据库中全文搜索引擎--sphinx的初步研究--by森爷
- android wifi 连接adb 调试配置
- printfk解析
- ubuntu下压缩和解压缩的命令用法
- innosetup 判断电脑有没有安装.netFramework
- linux学习文档
- 黑马程序员----【javaSE基础】个人总结--异常和包
- C++中的深拷贝和浅拷贝
- IOS异常捕捉