ホームページ バックエンド開発 PHPチュートリアル Linux 上で Sphinx、中国語単語セグメンテーション Coreseek、および PHP Sphinx 拡張機能をコンパイルしてインストールします。

Linux 上で Sphinx、中国語単語セグメンテーション Coreseek、および PHP Sphinx 拡張機能をコンパイルしてインストールします。

Nov 25, 2016 pm 03:57 PM
coreseek linux sphinx

Linux環境はCentOS5.5、Ubuntu12.04

1. ソフトウェアダウンロード

sphinx-2.1.3

coreseek-4.1

2. sphinxをインストールします

tar zxvf sphinx-2.1.3.tar.gz //解压sphinx包
cd sphinx-2.1.3
./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql/
ログイン後にコピー

--prefix: sphinxのインストールパスを指定します
- -with-mysql: mysql のインストール パスを指定します

sudo make && make install
ログイン後にコピー

コンパイルしてインストールします

インストールが成功すると、sphinx は 3 つのコマンドを作成します:

indexer 创建索引命令
searchd 启动进程命令
search 命令行搜索命令
ログイン後にコピー

注: 上記のコマンドは、次の方法で /usr/local/sphinx/bin ディレクトリにあります。 default

3 、スフィンクスを設定し、

cd /usr/local/sphinx/etc
ログイン後にコピー

を使用してスフィンクス

sudo cp sphinx.conf.dist sphinx.conf
ログイン後にコピー

の etc ディレクトリに入り、設定ファイルをコピーし、 sphinx.conf という名前を付けます。

このディレクトリ内の example.sql ファイルを test という名前のローカル データベースにインポートします。

構成情報を変更し、データベース接続情報をローカル データベース情報に変更します。

次に、次のコマンドを使用してデータをインポートし、インデックスを生成します:

$ cd /usr/local/sphinx/etc
$ sudo /usr/local/sphinx/bin/indexer --all
ログイン後にコピー

インデクサ コマンドの実行時にエラーが報告された場合:

ERROR: index 'test1stemmed': sql_connect: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
ログイン後にコピー

このマシンでは、mysql.sock の場所が変更されたことが原因である可能性があります。場所は /tmp/mysql.sock (mysql のインストール時の設定に関連します) です。sphinx.conf の次の行のコメントを解除します (先頭の # 記号を削除します):

#sql_sock                = /tmp/mysql.sock
ログイン後にコピー

上記のインデクサー コマンドを再度実行すると、すべてが正常です。

クエリを実行するには、次のコマンドを使用できます:

$ cd /usr/local/sphinx/etc
$ sudo /usr/local/sphinx/bin/search test
ログイン後にコピー

検索プロセス中にエラーが報告される場合があります:

index 'test1': search error: query too complex, not enough stack (thread_stack=-2665032K or higher required).
ログイン後にコピー

sphinx.conf の searchd モジュールの thread_stack の値を変更しようとしましたが、変更されました問題が解決しない場合は、ソース src1

#sql_query_info         = SELECT * FROM documents WHERE id=$id
ログイン後にコピー

の次の行をコメントアウトして、検索コマンドを実行すれば OK です。

バックグラウンドで Sphinx を起動するには、次のコマンドを使用します。

$ cd /usr/local/sphinx/etc
$ sudo /usr/local/sphinx/bin/searchd
ログイン後にコピー

php スクリプトを使用して、検索コマンドを実行します。 次のコマンドを使用できます:

$ cd sphinx/api
$ php test.php test
ログイン後にコピー

入力結果は次のとおりです:

Query 'test ' retrieved 3 of 3 matches in 0.022 sec.
Query stats:
'test' found 10 times in 6 documents
Matches:
1. doc_id=1, weight=101, group_id=1, date_added=2014-01-20 10:07:37
2. doc_id=2, weight=101, group_id=1, date_added=2014-01-20 10:07:37
3. doc_id=4, weight=1, group_id=2, date_added=2014-01-20 10:07:37
ログイン後にコピー

4. coreseek をインストールします。

tar zxvf coreseek-4.1.tar.gz
ログイン後にコピー

解凍後、2 つのディレクトリが表示されます: csft -4.1、mmseg-3.2.14

最初に mmseg をインストールします

cd mmseg-3.2.14/
./configure --prefix=/usr/local/mmseg
ログイン後にコピー

エラーが発生した場合はコンパイルします: 「config.status: error: 入力ファイルが見つかりません: src/Makefile. in"

解決策:

sudo apt-get install automake
aclocal
libtoolize --force 我运行后有一个错误,没管它。
automake --add-missing
autoconf
autoheader
make clean
./configure --prefix=/usr/local/mmseg
make
sudo make install
ログイン後にコピー

csft(coreseek)をインストールします

cd csft-4.1/
sh buildconf.sh
./configure --prefix=/usr/local/coreseek --with-mysql=/usr/local/mysql/ --with-mmseg=/usr/local/mmseg/ --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/ 
sudo make && make install
ログイン後にコピー

インストールが完了したら、sphinxのインストール後と同じです。coreseek/etc/example.sqlファイルをローカルにインポートする必要がありますデータベースを削除し、sphinx.conf.dist を csft.conf にコピーし、データベースのユーザー名とパスワードを変更すると、テストは失敗します。解決策は sphinx のエラー解決策と同じです。スフィンクスを使用するには、次のことを行う必要があります

2. スフィンクス設定ファイルを作成します。

4. デフォルトのインデックスを生成します。は 9312

5 です。PHP を使用してスフィンクス サービスに接続します

sphinx を開始します

cd /usr/local/coreseek/bin/
./searchd
ログイン後にコピー

コマンドを開始します

searchd コマンド パラメータの概要:

-c は設定ファイルを指定します

--stop サービスを停止します

-- pidfile は PID ファイルを明示的に指定するために使用されます

-p はポートを指定します

5、php はスフィンクス拡張機能をインストールします

sudo pecl install sphinx
ログイン後にコピー

エラーが発生した場合: 「configure: error: libsphinxclient headers が見つかりません」

解決策:

cd coreseek-4.1/csft-4.1/api/libsphinxclient/
./configure --prefix=/usr/local/libsphinxclient
sudo make && make install
ログイン後にコピー

解決済み!

戻って実行を続けます

./configure --with-php-config=/usr/local/php/bin/php-config --with-sphinx=/usr/local/libsphinxclient
sudo make && make install
ログイン後にコピー

「共有拡張機能のインストール: /usr/lib/php5/20090626/sphinx.so」のようなメッセージが表示され、成功したことが示されます。

ディレクトリに入ると、sphinx.soファイルが生成されていることがわかります

php.iniにsoファイルをロードします

extension=/usr/lib/php5/20090626/sphinx.so

Apacheを再起動します、phpinfo()は成功を示します。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Deepseek Webバージョンの入り口Deepseek公式ウェブサイトの入り口 Deepseek Webバージョンの入り口Deepseek公式ウェブサイトの入り口 Feb 19, 2025 pm 04:54 PM

Deepseek Webバージョンの入り口Deepseek公式ウェブサイトの入り口

Android TV Box が非公式の Ubuntu 24.04 アップグレードを取得 Android TV Box が非公式の Ubuntu 24.04 アップグレードを取得 Sep 05, 2024 am 06:33 AM

Android TV Box が非公式の Ubuntu 24.04 アップグレードを取得

DeepSeekをインストールする方法 DeepSeekをインストールする方法 Feb 19, 2025 pm 05:48 PM

DeepSeekをインストールする方法

BitPie Bitpie ウォレット アプリのダウンロード アドレス BitPie Bitpie ウォレット アプリのダウンロード アドレス Sep 10, 2024 pm 12:10 PM

BitPie Bitpie ウォレット アプリのダウンロード アドレス

Bitget公式ウェブサイトのインストール(2025初心者ガイド) Bitget公式ウェブサイトのインストール(2025初心者ガイド) Feb 21, 2025 pm 08:42 PM

Bitget公式ウェブサイトのインストール(2025初心者ガイド)

Zabbix 3.4 ソースコードコンパイルのインストール Zabbix 3.4 ソースコードコンパイルのインストール Sep 04, 2024 am 07:32 AM

Zabbix 3.4 ソースコードコンパイルのインストール

詳細説明:シェルスクリプト変数判定パラメータコマンド 詳細説明:シェルスクリプト変数判定パラメータコマンド Sep 02, 2024 pm 03:25 PM

詳細説明:シェルスクリプト変数判定パラメータコマンド

OUYI OKXインストールパッケージが直接含まれています OUYI OKXインストールパッケージが直接含まれています Feb 21, 2025 pm 08:00 PM

OUYI OKXインストールパッケージが直接含まれています

See all articles