Centos7搭建coreseek
簡介
1、Sphinx(coreseek) 是啥
一般而言,Sphinx是一個獨立的全文搜索引擎;而Coreseek是一個支持中文的全文搜索引擎,意圖為其他應用提供高速、低空間占用、高結果相關度的中文全文搜索能力。Sphinx/Coreseek可以非常容易的與SQL數據庫和腳本語言集成。
2、從哪里獲取
Sphinx原始版本可以從Sphinx官方網站 http://www.sphinxsearch.com/,Coreseek可以從Coreseek官方網站 http://www.coreseek.cn/下載.
3、主要特性
目前,Sphinx/Coreseek的發布包包括如下軟件:
indexer: 用于創建全文索引;
search: 一個簡單的命令行(CLI) 的測試程序,用于測試全文索引;
searchd: 一個守護進程,其他軟件可以通過這個守護進程進行全文檢索;
sphinxapi: 一系列searchd 的客戶端API 庫,用于流行的Web腳本開發語言(PHP, Python, Perl, Ruby, Java).
spelldump: 一個簡單的命令行工具,用于從 ispell 或 MySpell (OpenOffice內置綁定) 格式的字典中提取詞條。當使用 wordforms 時可用這些詞條對索引進行定制.
indextool: 工具程序,用來轉儲關于索引的多項調試信息。 此工具是從版本Coreseek 3.1(Sphinx 0.9.9-rc2)開始加入的。
mmseg: 工具程序和庫,Coreseek用于提供中文分詞和詞典處理。
安裝mysql
1、yum安裝編譯環境和mysql開發包 $ yum install gcc gcc-c++ libtool mysql-devel libxml2-devel expat-devel2、安裝配置mysql數據庫 1)安裝mysql CentOS7帶有MariaDB而不是MySQ,L,所以需要我們先下載它的rpm包 $ rm /etc/my.cnf #刪除舊配置文件 $ tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar #將下載的壓縮包放到 /usr/local/ 目錄下 $ mv mysql-5.6.34-linux-glibc2.5-x86_64.tar mysql $ cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf #參考如下配置my.cnf文件 [mysql] # 設置mysql客戶端默認字符集 default-character-set=utf8 socket=/var/lib/mysql/mysql.sock [mysqld] skip-name-resolve #設置3306端口 port = 3306 socket=/var/lib/mysql/mysql.sock # 設置mysql的安裝目錄 basedir=/usr/local/mysql # 設置mysql數據庫的數據的存放目錄 datadir=/usr/local/mysql/data # 允許最大連接數 max_connections=200 # 服務端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8 # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB lower_case_table_name=1 max_allowed_packet=16M $ cd /usr/local/mysql $ ./scripts/mysql_install_db --user=root --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ #安裝mysql數據庫 安裝可能出現缺少包情況,視情況安裝對應的包: yum -y install autoconf yum -y install libaio* yum -y install numactl.x86_642)配置mysql $ chmod 644 /etc/my.cnf $ cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld #復制啟動腳本到資源目錄 $ chmod +x /etc/rc.d/init.d/mysqld #增加mysqld服務控制腳本執行權限 $ chkconfig --add mysqld #將mysqld服務加入到系統服務 $ chown -R mysql:mysql /usr/local/mysql $ chmod -R 755 /usr/local/mysql $ service mysqld start3)添加環境變量 $ vi ~/.bash_profile #將mysql的bin目錄加入PATH環境變量,編輯 ~/.bash_profile文件 在文件最后添加如下信息: export PATH=$PATH:/usr/local/mysql/bin $ source ~/.bash_profile #執行下面的命令是修改的內容立即生效4)設置root用戶登錄密碼 設置root賬戶密碼為root mysql>use mysql; mysql>update user set password=password('root') where user='root' and host='localhost'; mysql>flush privileges; 設置遠程主機登錄 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;安裝Coreseek
1、將你下載的tar包解壓到/usr/local目錄下,并進入coreseek 子目錄: $ cd /usr/local $ tar -zxvf coreseek-3.2.14.tar.gz $ cd coreseek-3.2.142、安裝mmseg $ cd mmseg-3.2.14/ $ ./bootstrap $ ./configure --prefix=/usr/local/mmseg #指定安裝目錄 $ make $ make install3、安裝coreseek $ cd .. $ cd csft-3.2.13 $ sh buildconf.sh #檢查系統開發環境,輸出的warning信息可以忽略,如果出現error則需要解決 $ ./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/ --with-mysql=/usr/local/mysql $ make $ make install4、配置測試,測試是否可以正確運行 $ /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx-min.conf.dist配置過程中可能碰到以下錯誤: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory 解決方法:查看mysql安裝目錄下/安裝目錄/lib/libmysqlclient.so.18是否存在,如果存在,那就做一個軟鏈接到/usr/lib64/目錄下 $ ln -s /usr/local/coreseek/lib/libmysqlclient.so.18 /usr/lib645、修改配置文件 $ vi /usr/local/coreseek/etc/csft_mysql.confsql_user = rootsql_pass =path = /usr/local/coreseek/var/data/mysqlcharset_dictpath = /usr/local/mmseg/etc/pid_file = /usr/local/coreseek/var/log/searchd_mysql.pidlog = /usr/local/coreseek/var/log/searchd_mysql.logquery_log = /usr/local/coreseek/var/log/query_mysql.log6、建立索引 $ /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all 執行服務 $ /usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf 停止搜索服務 $ /usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf --stop 搜索測試 $ /usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/csft_mysql.conf -a abc 如果在coreseek運行時創建索引,加上--rotate參數,這樣索引創建完成就直接生效了 $ /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all --rotate參考鏈接:
1、sphinx的Coreseek安裝
https://blog.csdn.net/fafa211/article/details/8028921
2、Coreseek安裝測試配置指南轉
http://www.makaidong.com/object c/19305.shtml
總結
以上是生活随笔為你收集整理的Centos7搭建coreseek的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 20.jsp语法
- 下一篇: mysql读书笔记---mysql sa