キーワード全文検索SphinxのPHP実装と中国語の単語セグメンテーションCoreseekのインストールと構成

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 / mysqlsock 
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 
} 
源はsrc1throttledSRC1 
{ 
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

 

おすすめ

転載: www.cnblogs.com/yuanwanli/p/12683351.html