1

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

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

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

到目前为止,我遇到了 FULLTEXT 的两个问题,使我无法使用它:
1. 无法进行部分匹配 - 只有后缀匹配(这是真的吗?)
2. 当在要匹配的术语,匹配的工作方式不同。我假设这个时期正在以一种特殊的方式被解析。例如,在 NYC 上进行 FULLTEXT 搜索不会返回 JFK,尽管在 New York 上进行相同的搜索会

有没有办法克服这些障碍?否则,我应该寻找like匹配,还是完全不同的存储引擎?谢谢!

4

1 回答 1

1

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

于 2012-04-12T16:16:41.723 回答