私のWebアプリitems
では、次の条件でテーブルに対して3種類の検索を実行する必要があります。
items.is_public = 1
(title
インデックス作成にフィールドを使用)-多くの結果を取得できます(カーディナリティは他の場合よりもはるかに高くなります)items.category_id = {X}
(インデックス作成にはtitle
+private_notes
フィールドを使用)-通常は100未満の結果items.user_id = {X}
(インデックス作成にはtitle
+private_notes
フィールドを使用)-通常は100未満の結果
これらすべてのケースでSphinxを機能させる方法を見つけることはできませんが、最初のケースではうまく機能します。最初のケースにのみSphinxを使用し、MySQLで単純な古い「遅い」全文検索を使用する必要がありますか(少なくとも2〜3のケースではカーディナリティが低いため)?
それとも私だけで、Sphinxはほとんどすべてを行うことができますか?