没有全文搜索的类似mysql同义词库的行为

wrrgggsh  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(330)

我的搜索引擎是用mysql和coldfusion编写的,它的主要部分是在每个搜索词上循环使用以下内容(或类似内容),用空格隔开。

AND productname REGEXP '(\\b#trim(search)#\\b)'

我想介绍一些替代词,以便在搜索其中任何一个词时,都包括其他词
m43,m4/3,微型三分之四,mft
我可以使用一个单独的查询来获取匹配关键字的列表,并在or中循环-但这似乎有点不精确。
我的数据库是一个相机产品名称列表,几乎没有一致性,我测试了全文搜索,但不满意的结果。
那么,有没有一个类似“theasaurus”的选项而不需要全文搜索实现呢?

pkln4tw6

pkln4tw61#

我添加了一个productkeyword字段,其中填充了可选关键字。
我的SQLWHERE子句现在循环了术语,并与连接的产品名称和关键字进行了比较

AND concat_ws(' ', productname, productkeywords) REGEXP '(\\b#trim(search)#\\b)'

感谢@sevroberts提供此解决方案

相关问题