4

完全な製品検索が必要な codeigniter php フレームワークで e コマース システムを構築しています。テーブルロックの代わりに参照整合性や行ロックを強制する外部キーのサポートなどの利点があるため、MySQLデータベースでInnoDBエンジンを使用しましたが、フルテキストインデックスはサポートしていません:'(

唯一の問題は、サイト検索のために製品テーブルを検索する必要があることです。そのため、Codeigniter と互換性のあるフルテキスト インデックス以外の方法が必要です。誰か提案がありますか?別の検索可能なテーブルとSphinxを作成することを検討しましたが、混乱しているように見えます:S

編集

ホストに確認したところ、サイトが共有ホスティング上にあるため Sphinx を使用できません。私のホスティング プロバイダーはルート レベルの権限が必要なためインストールを許可せず、サードパーティであるためシステム全体のインストールを行いません。また、そのセキュリティを保証することはできません。

4

2 に答える 2

3

MySQLをシンプルに更新することをお勧めします。 InnoDB 全文検索 (FTS) は、MySQL 5.6.4 リリースでついに利用可能になりました。

これらのインデックスは物理的に InnoDB テーブル全体として表され、CREATE INDEX ステートメントの FULLTEXT 句、SELECT ステートメントの MATCH() ... AGAINST 構文、OPTIMIZE TABLE ステートメントなどの SQL キーワードによって処理されます。FULLTEXT インデックスから

于 2013-05-13T07:16:00.427 に答える
1

最も簡単な方法は、製品のテキストデータ用のMyISAMテーブルを作成し、それに対して検索クエリを実行することです。次に、一貫性を確保するために、cronジョブを使用してMyISAMテーブルのデータを毎日再構築できます。または、更新のたびにMyISAMテーブルのデータを更新するようにモデルを作成できます。

于 2012-08-13T16:27:17.363 に答える