【发布时间】:2011-04-04 17:44:45
【问题描述】:
我有很多数据正在使用 HTML 实体 & 输入到记录中。对单词“amp”进行全文搜索将导致显示包含& 的记录,这是非常不可取的。
这大概是因为 MySQL 忽略了 '&' 和 ';'。那么有人知道在 MySQL 中有什么方法可以强制它把特殊字符当作单词的一部分,这样我对“amp”的搜索就不会包括所有带有& 的结果——理想情况下是没有 某种形式的子查询或额外的 WHERE 子句?
到目前为止,我的解决方案(尚未实现)是对 INSERT 上的实体进行解码,并在 Web 上显示时对其重新编码。这没关系,但如果可能的话,我想避免的一切都会增加一些开销。它也适用于新条目,但我需要将其回溯到近 700 万条记录...如果我能提供帮助,我有点不想必须这样做。
--
我用以下内容更新了我的 my.cnf 文件:
ft_stopword_file = /etc/mysql/custom-stopwords
此文件是否需要任何特殊权限?
【问题讨论】:
标签: mysql full-text-search html-entities