需求是这样的,搜索关键字有可能是词组,期望搜索出来的结果包含整个词组(即不分词),但可以带后缀通配符。
比如:搜索 hello world
期望结果包括:
hello world
hello worlds
不包括:
hello xxx world
mysql 的全文检索通过 double quote 阻止分词,但是在 double quote 里无法使用 wildcard,
比如 match(c) against('"hello world*"' in boolean mode) 的搜索结果并不包含 hello worlds。
这个貌似是 mysql 的 bug,搜到这个 issue:
https://bugs.mysql.com/bug.php?id=80723不知是否有办法绕过(暂不考虑 elasticsearch……
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/634395
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.