ホームページ >バックエンド開発 >PHPチュートリアル >sphinx_PHP の coreseek の使用を分析するチュートリアル

sphinx_PHP の coreseek の使用を分析するチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:04:36766ブラウズ

1. ダウンロードしたファイルパッケージを解凍し、名前をsphinxなどに変更します。次に、それをより適切な場所 (通常はドライブ d のルート ディレクトリの下) に置きます。
2. D:sphinxetc で csft_mysql.conf ファイルを見つけて開きます。ue または editplus を使用することをお勧めします。メモ帳を開くとスタイルが設定されないためです。これは Linux 上のファイルが原因です。
3. 必要な変更を加えます。この変更はテーブルと取得したいコンテンツに依存するため、ここでの標準はありません。例を示すことしかできません。

コードをコピーします コードは次のとおりです。

#ソース定義
source main
{
type = mysql
sql_host = 192.168.1.250
sql_user = root
sql_pass = 123456
sql_db = db_youx ue
s ql_port = 3306

sql_query_pre = 名前を設定 utf8
sql_query_pre = 設定SESSION query_cache_type = OFF #我追加
sql_query_pre = sph_counter select 1,max(Fid) from t_store #追加しました

sql_query = SELECT Fid, Ftitle, Fcontent, Fprovince,Fexamtitle, UNIX_TIMESTAMP(Fcreatetime) AS Fcreatetime FROM t_store where Fid< ;=(fid = 1 の SPH_COUNTER から FMAXID を選択)
#SQL_QURY ID の最初の列は整数です
#TITLE、内容は文字列/テキスト フィールドであり、全文によってインデックスが付けられます
SQL_ATTR_UINT = FID#read from SQL . TimesStamp = Fcreatetime #SQL から読み取られる値は時間属性として整数である必要があります
sql_query_info = SELECT * FROM t_store WHERE Fid=$id #コマンドラインでクエリを実行する場合は、データベースから元のデータ情報を読み取ります
}
#index 定義
index main
{
source = main
#charset_dictpath = /usr/local/mmseg3 /etc/ #BSD および Linux 環境で設定し、/ シンボルで終わる
charset_dictpath = etc/ #Windows 環境で設定して、で終わる/ シンボル
charset_type = zh_cn.utf-8
}
#グローバル インデックス定義
indexer
{
mem_limit = 128M
}
#searchd サービス定義
searchd
{
0
preopen_indexes = 0
unlink_old = 1
pid_file = var /log/searchd_mysql.pid
log = var/log/searchd_mysql.log
query_log = var/log/query_mysql.log
}
source deltaMain: main
{
sql_query_pre = 名前を設定 utf8
sql_query = SELECT Fid、Ftitle、Fcontent , Fprovince,Fexamtitle, UNIX _TIMESTAMP (Fcreatetime) AS Fcreatetime FROM t_store where Fid>(Fid=1 の sph_counter から Fmaxid を選択)
}
index deltaMain: main
{
ソース = deltaMain
パス = var/data/delta
}


このように設定するだけです。
4. コマンドラインで sphinx ディレクトリを見つけます。次に、次のように入力します:
binindexer -c etccsft_mysql.conf
Enter キーを押して、新しいインデックスを生成します。

5. 次に、次のように入力します:
binindexer -c etccsft_mysql.conf --all
ここのデータが大きい場合は、時間がかかります。通常、10,000 項目の場合は 20 秒かかります。いずれにしても、すぐに正式な発表はありません。次に、
binsearchd -c etccsft_mysql.conf --console と入力し、Enter キーを押して searchd サービスを開始します。このとき、検索されたサービスはタスクマネージャーのプロセス内で見つかります。このようにして、クエリの基本条件が満たされます。

6. 次のように入力します:
binsearchd -c etccsft_mysql.conf -a document
Enter キーを押します。これは、ドキュメントを含むすべての一致を検索することを意味します。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327774.html技術記事 1. ダウンロードしたファイル パッケージを解凍し、名前を sphinx などに変更します。次に、それをより適切な場所 (通常はドライブ d のルート ディレクトリの下) に置きます。 2. D:sphinxetc で...
を見つけます
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。