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

我尝试将上述一个作为搜索引擎的查询,但mysql说仅在MYISAM上支持FULL-TEXT INDEXING,我使用的引擎是innoDB,请告诉我在InnoDB引擎上搜索coloumn 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. 像ft_min_word_len这样的系统变量也很重要。

了解了这些之后,我想你就会知道如何正确应用 MySQL 全文搜索了。

于 2012-10-29T07:06:28.863 回答