MySQL MyISAM 全文搜索-如何添加'#'作为 utf8 字符集的单词字符?

发布于 2024-09-14 01:32:44 字数 415 浏览 8 评论 0原文

我正在使用 MyISAM 全文搜索。表列具有字符集“utf8”和“utf8_general_ci”作为排序规则。

现在我想实现#HashTag系统,这样如果我搜索“#HashTag”,则只显示包含“#HashTag”的行。不是只包含“HashTag”的行。

根据此MySQL文档中的评论,对于非多字节字符集(即具有固定宽度编码的字符集)来说很容易做到这一点。

但我找不到关于如何对 utf8 字符集执行此操作的良好参考。有人对 utf8 字符集列做过这个吗?如果是的话,您能列出具体步骤吗?

另外,如果可能的话,我想避免重新编译 MySQL。

I am using MyISAM full text search. The table columns are having charset "utf8" and "utf8_general_ci" as collation.

Now I want to implement #HashTag system, so that if I search for "#HashTag", only rows that contain "#HashTag" show up. Not rows that just contains "HashTag".

According to the comment in this MySQL documentation, its easy to do it for non-multibyte charsets, that is charsets with fixed-width encoding.

But I could not find a good reference for how to do it for utf8 charset. Has anyone done this for utf8 charset columns? If yes, could you list the exact steps?

Also, I want to avoid recompiling MySQL if possible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

耳钉梦 2024-09-21 01:32:44

不是您问题的答案,但是在输入期间使用正则表达式解析哈希标签并将它们存储在单独的列中不是一个好主意吗?可能比让 mySQL 接受 # 作为搜索字符更容易(也更快)。

Not an answer to your question, but would it not be a good idea to parse out the hash tags during input time using a regular expression, and store them in a separate column? Might be easier (and faster) than bending mySQL into accepting # as a search character.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文