MySQL FULLTEXT是部分单词的最佳解决方案吗?

时间:2012-04-10 16:58:36

标签: mysql partial full-text-search

我有一个MySQL MyISAM表,其中包含描述机场的条目。该表包含3个varchar列 - 代码,名称和标签。

代码是指机场的代码(如JFK和ORD),名称是指机场的名称(John F Kennedy和O'Hare),标签指定与机场相关的以分号分隔的标签列表(如NYC) ;纽约;和芝加哥;)。

我需要能够通过代码,名称或标签查找机场(用于自动完成),因此我在(代码,名称,标签)上设置了FULLTEXT索引。

到目前为止,我遇到过FULLTEXT的两个问题,导致我无法使用它:
1.没有办法进行部分匹配 - 只有后缀匹配(这是真的吗?)
2.当在匹配的术语中指定句点('。')时,匹配的工作方式不同。我假设这个时期正在以特殊方式解析。例如,在N.Y.C上进行FULLTEXT搜索将不会返回JFK,尽管在纽约进行相同的搜索将

无论如何都要克服这些障碍吗?否则,我应该看like匹配,还是完全不同的存储引擎?谢谢!

1 个答案:

答案 0 :(得分:1)

我想出的最佳解决方案是同时使用FULLTEXT和匹配,并使用UNION获得结果。