0

MySQLとSphinxがインストールされており、LNMPサーバーで正しく動作しています。ここで、Sphinxサブクエリを既存のMySQLクエリに統合したいと思います。

例:

SELECT * FROM mysql_table
JOIN (SELECT id FROM sphinx_index MATCH ('keyword')) AS match_table
ON match_table.id = mysql_table.id

これは可能ですか?そうでない場合は、Sphinxを個別に実行してからWHERE IN、MySQLクエリで使用する必要がありますか、それともSphinxから得られる余分な効率を無効にしますか?

4

2 に答える 2

1

SphinxSEを使用する http://sphinxsearch.com/docs/current.html#sphinxse-overview

その後、

SELECT * FROM mysql_table
JOIN (SELECT id FROM sphinx_index WHERE query='keyword') AS match_table
ON match_table.id = mysql_table.id

それでも

SELECT * FROM sphinx_index INNER JOIN mysql_table USING (id) WHERE query='keyword'

より短く、より簡潔です。そして、結果の順序をより適切に維持します。

ここで、「sphinx_index」は、基になるスフィンクスインデックスを指すSphinxSEテーブルです。

于 2012-10-01T12:54:56.647 に答える
0

私は別のSOの質問で答えを見つけたようです:

SphinxをMySQLに統合する

これを読んだところ、SphinxとMySQLは私が期待していたほど統合されていないようです。これらは別々の接続で使用する必要があるため、クエリを組み合わせることはできません。しかたがない...

于 2012-10-01T00:51:03.113 に答える