1.要件
記事のタイトルまたは分類(記事のコンテンツも含む)に検索語を含む記事は、検索語の頻度の重みに従って表示されます。
2.環境
Nginx + PHP + Mysql(システムCentos7)。
3.インストール
1.インストールの依存関係
yum -y install make gcc gcc-c ++ libtool autoconf automake imake mariadb mariadb-server mariadb-devel libxml2-devel expat-devel
2.ソフトウェアパッケージをダウンロードする
git clone https:// github.com/wanqianworld/coreseek4.1.git
cd coreseek4.1#ダウンロード後にディレクトリを入力してください
3. coreseekを解凍します
tar -xzf coreseek-4.1-beta.tar.gz
4. mmsegをインストールする
cd coreseek-4.1-beta / mmseg-3.2.14 ./ bootstrap ./configure --prefix = / usr / local / mmseg3 make && make install
5. coreseekをインストールする
5.1。設定を変更する
cd ../csft-4.1
vim configure .ac
将
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
修改为
AM_INIT_AUTOMAKE([-Wall foreign])
5.2。ソフトウェアをダウンロードする
yum -yインストールパッチ
5.3。パッチ
。-p1パッチ</yourpath/sphinx/sphinxexpr.cpp-csft-4.1-beta パッチ
入力:
/yourpath/sphinx/coreseek-4.1-beta/csft-4.1/src/sphinxexpr.cpp
5.4。インストール
sh buildconf。sh ./configure --prefix = / usr / local / coreseek --without-unixodbc --with-mmseg --with-mmseg-includes = / usr / local / mmseg3 / include / mmseg / --with-mmseg-libs = / usr / local / mmseg3 / lib / --with- mysql make && make install
6.1。中国語の単語セグメンテーションをテストする
../testpack/ CD は/ usr / local / mmseg3 / binに/ MMSEGは、-dは/ usr / local / mmseg3の/ etc VAR /test/test.xml #のテスト中国語の単語
6.2。インデックスを作成する
/ usr / local / coreseek / bin / indexer -c etc / csft.conf --all
6.3。検索テスト
/ usr / local / coreseek / bin / search -c etc / csft.conf Li Yanhong
7. php connect sphinx
../csft-4.1/api/libsphinxclient/のCD #はディレクトリ入力 のaclocal libtoolize - フォース のautomakeを --add- 行方不明 にautoconfを autoheaderは クリーンメイク は./configure --prefix =は/ usr / local /がsphinxclient メイク && make installを #コンパイル CDを ../../../../ #パッケージディレクトリにバック タール-xzfスフィンクス-1.3.0.tgz #解凍 のyum -y PHP PHP-develのインストール#をインストール-develのPHPの CDスフィンクス -1.3.0 #phpize をインストールします 。/configure--with-php-config = / usr / bin / php-config --with-sphinx = / usr / local /sphinxclient make && make install
7.1。php-sphinx拡張機能を開く
。Vimのは/ etc / PHP INI
エンド追加で:
[スフィンクス]
拡張 = sphinx.so
8.テスト
8.1。テストデータを追加する
mysql -uroot -p123456 </usr/local/coreseek/etc/example.sql
8.2構成ファイルのコピー
cp /usr/local/coreseek/etc/sphinx.conf.dist / usr / local / coreseek / etc / csft。conf cp /home/lee/sphinx/coreseek-4.1-beta/mmseg-3.2.14/data / * / usr / local / mmseg3 / etc /
8.3。設定ファイルを修正する
vim /usr/local/coreseek/etc/csft.conf
ソースsrc1 { タイプ = mysql sql_host = 127.0.0.1 sql_user = root sql_pass = 123456 sql_db = test sql_port = 3306 #オプション、デフォルトは3306 sql_query_pre = SET NAMES utf8 sql_sock = / var / lib / mysql / mysql。sock sql_query = \ SELECT id、group_id、UNIX_TIMESTAMP(date_added)AS date_added、title、コンテンツ\ 文書から sql_attr_uint = GROUP_ID sql_attr_timestamp = DATE_ADDED sql_ranged_throttle = 0 sql_query_info_pre = セット名UTF8 sql_query_info ID =ドキュメントFROM = SELECT * $ ID } 源はsrc1throttled:SRC1 { sql_ranged_throttle = 100 } のインデックスTEST1 { 源が = SRC1 パス = / USRを/ local / coreseek / var / data / test1 docinfo =EXTERN MLOCK = 0 モルフォロジー = なし min_word_len = 1 html_strip = 0 charset_dictpath =は/ usr / local / mmseg3の/ etc / charset_type = zh_cn.utf-8 } インデクサ { mem_limit = 128M } searchd { 聞く = 9312 聴く := 9306 mysql41の ログ = / usr / local / coreseek / var / log / searchd。ログ query_log = / usr / local / coreseek /var / log / query。ログ read_timeout = 5 client_timeout = 300 max_children = 30 pid_file = / usr / local / coreseek / var / log / searchd。pid max_matches = 1000 seamless_rotate = 1 preopen_indexes = 1 unlink_old = 1 mva_updates_pool = 1M max_packet_size = 8M max_filters = 256 max_filter_values = 4096 max_batch_queries = 32 労働者 =スレッド#仕事へのRTのため }
8.4。バイナリファイルのコピー
cp / usr / local / coreseek / bin / * / usr / bin /
8.5インデックスの生成
インデクサー--rotate --all
8.6。サービスの開始
検索した
8.7。サービスを停止する
検索--stop
9.テスト
テストスクリプトを記述します。
vim test.php
<?php $ sphinx = new SphinxClient(); $ sphinx-> SetServer( "127.0.0.1"、9312 ); $ sphinx- > SetMatchMode(SPH_MATCH_ALL); $ sphinx-> SetLimits(0、20、1000 ); $ sphinx-> SetArrayResult(true ); $ result = $ sphinx- > query( "one"、 "test1" ); var_dump($ result);
スクリプトを実行します。
php test.php