搭建 coreseek && sphinx

做百万/千万级别的全文检索。 每个doc其实是一个名字。 doc有增加和删除。


1 安装 && 测试


http://www.coreseek.cn/news/7/52/


install
http://www.coreseek.cn/products/products-install/install_on_bsd_linux/


install mysql or redirect mysql path
libiconv
http://www.coreseek.cn/product_install/install_on_bsd_linux/#mysql




具体配置可以查看 sphinx速成指南


===========================================================

search -c sphinx.conf  "words"

searchd -c sphinx.conf 启动后台服务


生成所有索引

/usr/local/coreseek/bin/indexer -c sphinx.conf --all

生成单个索引
/usr/local/coreseek/bin/indexer -c sphinx.conf indexname

后台已启动情况下, 更新索引
/usr/local/coreseek/bin/indexer -c sphinx.conf --all --rotate

done....

按照etc/csft_mysql.conf, 设置自身的mysql相应配置, 注意where orderby group中出现的字段类型要用sql_attr_xxx定义。

能直接从数据库中寻找了。

===========================================================


===========================================================

2 短语匹配

因业务需求, 需要匹配用户输入的整个短语串。

search -a SPH_MATCH_ALL

-p SPH_MATCH_PHRASE;  目前看到的是单字符被去掉了。 搜索"goo main", 数据库中的"goo d main"出来了

===========================================================



==============================================================

mysql支持:

登入mysql后, 执行documents.sql导入数据

然后运行indexer和search即可。    数据存储在原mysql的存储引擎中。


中日韩支持:

使用带_cjk后缀的配置文件即可。


实时索引:【未装sphinxSE】

使用带rtindex后缀的配置即可。 无需运行indexer, 直接起searchd, 然后mysql登入配置中指定的端口, 命令行操作即可。

数据未存放在mysql中。


sphinxSE:【装sphinxSE】【待继续】

1) 需要重编译mysql: http://www.coreseek.cn/products-install/mysql5-5-sphinxse/

show engines; 能看到SPHINX.....

大体步骤, svn co 下sphinx, 然后svn up -r到指定版本, 然后执行patch, 再拷贝到mysql/storage/sphinx/ 下; cmake重编mysql、 安装mysql, 进入mysql后install plugin; 然后show engines就可以看到了。【自带的 coreseek/sphinxse/..编译不过, .可能有问题。。?】

sphinxSE实际不存储任何数据, 只是将发往sphinxSE表的查询, 转发给searchd, searchd的位置通过sphinxSE建表时的CONNECTION="sphinx://localhost:9312/rtindex"指定, 表示发往mysql 某个sphinxSE表的查询, 均将转发给localhost:9312的index名为rtindex的东东。


==============================================================


=====================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值