PHPとMySQLでSphinxを使用するための完全なガイドを探しています。サイトで提供されているものよりも少し簡単で使いやすいものを求めています。
それがどのように機能するかについて、いくつかの概念を探しています。
PHP、HTML、その他のデータとMySQLデータベースを備えたサーバーがあります。検索と結果が返されるようにSphinxを設定するにはどうすればよいですか?
検索条件をPHPスクリプトに渡して、Sphinxを処理してデータを返すようにできるようにしたいと思います。
追伸Sphinxの他の代替案についても提案をお待ちしています。
この投稿を見つけましたが、見たい回答が見つかりませんでした。だからここに私のクイックスタートガイドがあります:
1。 Sphinxをインストールする
Homebrewを搭載したMacの場合:
brew install sphinx
Yumを使用するAmazon Linux(CentOS)の場合:
yum install sphinx
2。 Sphinx設定を作成します
Sphinxには設定テンプレートが付属しています。 configsディレクトリでsphinx.conf.distを探します。
HomebrewがインストールされているMacの場合:
/usr/local/Cellar/sphinx/<sphinx version>/etc
YumでインストールされたAmazon Linuxの場合:
/etc/sphinx
かなり簡単ですが、初心者には設定が多すぎる可能性があります。そのような場合は、次の単純な構成を使用できます。
source TestSource {
type = mysql
sql_Host = <Host>
sql_user = <user>
sql_pass = <password>
sql_db = <db>
sql_query_range = select min(id), max(id) from TestTable
sql_range_step = 2048
sql_query = select id, some_info from TestTable\
where id >= $start and id <= $end
}
index TestIndex {
source = TestSource
path = /var/lib/sphinx/test-index
min_Word_len = 3
min_infix_len = 3
}
searchd {
log = /var/log/sphinx/searchd.log
query_log = /var/log/sphinx/query.log
pid_file = /var/run/searchd.pid
max_matches = 200
listen = localhost:9312
}
Max_matches設定をこの構成に追加しました。すべてを機能させた後の最初の質問は、「なぜ常に20件の検索結果しか得られないのですか?」でした。 max_matchesを使用すると、検索結果数の制限を設定できます。
3。インデクサーを使用してインデックスを作成する
indexer --all
4。 Sphinxデーモンを実行する
Sudo searchd -c /path/to/config/sphinx.conf
5。インストールPHP Sphinx拡張機能
Homebrewを搭載したMacの場合:
brew install homebrew/php/php56-sphinx
Yumを使用するAmazon Linuxの場合:
yum install libsphinxclient
pecl install sphinx
6。 PHPからインデックスをクエリします
$index = new SphinxClient();
$index->setServer("127.0.0.1", 9312);
$result = $index->query('some search term', 'TestIndex');
print_r($result);
エラーが発生した場合は、次の方法で詳細情報を取得できます。
$index->getLastError();
7。最新のインデックスを維持する
最新のインデックスを維持するには、2つのインデックスを使用できます。
デルタインデックスが再インデックスされるたびに、メインインデックスとマージされます
このリンク http://www.sphinxconsultant.com/sphinx-search-delta-indexing/ にアクセスして、このアプローチの詳細をご覧ください。
役立つリンク:
私は良いガイドについてあまり確信がありませんが、これが私のステップです。
a)ダウンロードしてインストールするのは非常に簡単です
b)最初のインデックスを作成します-与えられた設定が非常に良い場所にソースが必要です。プライマリソースを使用してすべてのメインエリアを設定し、他のソースがそこから派生することを覚えておいてください。各ソースは主キーで始まる必要があり、key_id AS idを実行するのが最適です
c)検索を使用してインデックスをテストします
d)スフィンクスの検索デーモンを開始します-これがphpの接続先であり、結果を取得する方法です。
e)すべてのインデックスを検索する関数を作成して、検索するインデックスを渡します。検索に一致した配列のIDが返されます。
f)デルタを作成して更新します。
仕事が終わりました-スフィンクスフォーラムはとても素敵で、何か助けが必要な場合はあなたに提供してくれるはずです。リチャード
Php.netでSearch Engine Extensionsを見てください: http://php.net/manual/en/refs.search。 php 。
http://play.manticoresearch.com/ は、Sphinx/Manticoreを使用するときに人々が遭遇するさまざまなタスクと、それらをどのように解決できるかについて説明するインタラクティブなコースのセットです。