搭建 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 --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的東東。
==============================================================
=====================
總結
以上是生活随笔為你收集整理的搭建 coreseek sphinx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网项目中, 一些可能有用的开源系统
- 下一篇: sphinx-release 2.1.4