centos coreseek4.1安裝和配置
概念
1. sphinx是國外的一款搜尋軟體,一款基於SQL的高效能全文檢索引擎 2. coreseek是在sphinx的基礎上,增加了中文分詞功能,增加對中文的支援。4.1版本是2011年釋出的,它是基於Sphinx2.0.2的。
- 安裝依賴
yum install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel
- 下載coreseek-4.1-beta.tar.gz
連結: https://pan.baidu.com/s/1RA8_p_SiE5LCyG26Mw0ODg 提取碼: 7cdw
- 首先安裝mmseg中文分詞
tar zxvf coreseek-4.1-beta.tar.gz cd coreseek-4.1-beta/mmseg-3.2.14/ ./bootstrap#輸出的warning資訊可以忽略,如果出現error則需要解決 ./configure --prefix=/usr/local/mmseg make && make install --------------------------------------- #編譯時可能會報錯config.status: error: cannot find input file: src/Makefile.in yum -y install libtool automake #如果automake報錯 原因可能是下列 Libtool library used but `LIBTOOL' is undefined The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL' to `configure.ac' and run `aclocal' and `autoconf' again. If `AC_PROG_LIBTOOL' is in `configure.ac', make sure its definition is in aclocal's search path. 在configure命令執行之前,執行 aclocal libtoolize --force automake --add-missing autoconf autoheader make clean 執行完之後,從新執行configure命令 ./configure --prefix=/usr/local/mmseg
- 安裝coreseek
cd csft-4.1/ ./buildconf.sh ./configure --prefix=/usr/local/coreseek --with-mysql=mysql安裝目錄 --with-mmseg=/usr/local/mmseg --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/ #遇到的問題: at-L/usr/local/lib -lrt-lpthread 修改MakeFile檔案和src/MakeFile檔案 vim Makefile LIBS = -lm -lexpat -L/usr/local/lib 改成 LIBS = -lm -lexpat -liconv -L/usr/local/lib # configure 之後修改
問題:執行ofollow,noindex" target="_blank">buildconf.sh 報錯,無法生成configure檔案
#在 csft-4.1/buildconf.sh 檔案中,查詢 && aclocal \ 後加上 && automake --add-missing \ #在 csft-4.1/configure.ac 檔案中,查詢 AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 改成 AM_INIT_AUTOMAKE([-Wall foreign]) 查詢:AC_PROG_RANLIB 後面加上:AM_PROG_AR #最後,在 csft-4.1/src/sphinxexpr.cpp 檔案中, 替換所有 T val = ExprEval ( this->m_pArg, tMatch ); 改為 T val = this->ExprEval ( this->m_pArg, tMatch );
小技巧:末行模式下輸入“:1,$s/T val = ExprEval ( this->m_pArg, tMatch )/T val = this->ExprEval ( this->m_pArg, tMatch )/g”從第一行開始替換到最後一行
- 修改配置csft.conf,增加對中文支援
開啟csft.conf 在index test1 段下面,增加 charset_type = zh_cn.utf-8 charset_dictpath =/usr/local/mmseg/etc/
- 測試
cd /usr/local/coreseek/bin ./indexer --all ./search 四十
- coreseek的bin目錄
1. /usr/local/coreseek/bin/indexer #indexer檔案,用於建立/更新/合併資料來源的索引 # 例子 /usr/local/coreseek/bin/indexer -c etc/csft.conf --all #為csft.conf配置檔案中配置的所有資料來源建立索引 2. /usr/local/coreseek/bin/search # search檔案,用於測試資料來源的搜尋 # 例子 /usr/local/coreseek/bin/search -c etc/csft.conf 網友 #測試csft.conf配置檔案中配置的資料來源是否有“網友”這個內容 3. /usr/local/coreseek/bin/searchd # searchd檔案,負責接受查詢、處理查詢和返回資料集的服務 # 例子 /usr/local/coreseek/bin/searchd -c etc/csft.conf 通過csft.conf的searchd配置開啟負責接受查詢、處理查詢和返回資料集的服務
參考地址:
1. https://yq.aliyun.com/articles/529853?spm=5176.10695662.1996646101.searchclickresult.310d2d65t0zsnK 2. https://www.cnblogs.com/GaZeon/p/5327578.html