0
SELECT firstname, lastname,comments 
FROMusers 
WHERE MATCH(firstname,lastname,comments) 
AGAINST('$searchterm')

検索エンジンのクエリとして上記のものを試しましたが、mysqlはFULL-TEXT INDEXINGがMYISAMでのみサポートされていると言っています、私が使用しているエンジンはinnoDBです、InnoDBエンジンで列INDEXを検索する最良の方法を教えてください

4

1 に答える 1

1

私の知る限り、MySQL FTS はバージョン 5.6 ( http://dev.mysql.com/tech-resources/articles/whats-new-in-mysql-5.6.html )から InnoDB で利用できます。

ここでMySQL Fulltex検索ドキュメントをご覧くださいhttp://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html

基本的に、「インデックス」とは何か、MySQL がインデックスを作成する方法を理解する必要があると思います。この記事は、MySQL 全文検索の背後にあるメカニズムを理解するのに非常に役立ちますhttp://dev.mysql.com/doc/internals/en/full-text-search.html

全文検索にはいくつかの重要な概念があります。

  1. ブールモード
  2. 自然言語モード
  3. また、MySQL FTS のストップワード リストについてもお読みになることをお勧めします。
  4. システム変数like ft_min_word_lenも重要です。

これらのことを理解すると、MySQL 全文検索を適切に適用する方法がわかると思います。

于 2012-10-29T07:06:28.863 に答える