この投稿に出くわしましたが、見たい答えが見つかりませんでした。これが私のクイックスタートガイドです:
1。 Sphinxをインストールする
MacでHomebrewを使用する場合:
brew install sphinx
yumを使用するAmazonLinux(CentOS)の場合:
yum install sphinx
2。 Sphinx構成を作成する
Sphinxには構成テンプレートが付属しています。 configsディレクトリでsphinx.conf.distを探します:
HomebrewがインストールされているMacの場合:
/usr/local/Cellar/sphinx/<sphinx version>/etc
yumがインストールされているAmazonLinuxの場合:
/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
}
すべてが機能した後の最初の質問は「なぜ常に20の検索結果しか得られないのですか?」だったので、この構成にmax_matches設定を追加しました。 max_matchesを使用すると、検索結果数の制限を設定できます。
3。インデクサーを使用してインデックスを作成する
indexer --all
4。 Sphinxデーモンを実行する
sudo searchd -c /path/to/config/sphinx.conf
5。 PHPSphinx拡張機能をインストールする
MacでHomebrewを使用する場合:
brew install homebrew/php/php56-sphinx
yumを使用するAmazonLinuxの場合:
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つのインデックスを使用できます。
- 頻繁に更新されないメインインデックス(週に1回、月に1回など)
- そして、頻繁に更新されるデルタインデックス(1時間ごと、5分ごとなど)
デルタインデックスが再インデックスされるたびに、メインインデックスとマージされます
このリンクをたどる
便利だと思ったリンク:
- http://sphinxsearch.com/docs/current.html
- http://sphinxsearch.com/info/faq/
- http://atlchris.com/1996/working-with-sphinx-search-engine-on-a-lamp-linux-apache-mysql-and-php-stack-server/ >
- http://www.sphinxconsultant.com/sphinx-search-delta -インデックス作成/
- https://github.com/schmittjoh/ php-stubs / tree / master / res / php / sphinx