MySQL全文(不)搜索

时间:2011-08-06 14:45:07

标签: mysql full-text-search

我有一个表,其中有视频数据,如“标题”,“描述”等。我正在尝试编写一个带有MySQL全文索引的搜索引擎。 SQL查询适用于某些单词,但不适用于每个单词。这是我的SQL查询;

SELECT *
FROM videos
WHERE MATCH (title, description) AGAINST ('XXXXXXXXXX' IN NATURAL LANGUAGE MODE)

我用查询字词替换“XXXXXXXX”。它适用于“otomotiv”但不适用于“otomoti”。如果发现“otomotiv”,是不是必须找到“otomoti”,因为“otomoti”是整个“otomotiv”这个词的一部分?

我尝试将搜索模式更改为“IN NATURAL LANGUAGE MODE”或“WITH QUERY EXPANSION”,但仍然没有运气。

MySQL无法找到整个单词的一部分是否正常?

1 个答案:

答案 0 :(得分:2)

您需要执行布尔全文搜索,因为它支持通配符运算符 http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html

SELECT *
FROM videos
WHERE MATCH (title, description) AGAINST ('otomoti*' IN BOOLEAN MODE)