0

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

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

我想介绍替代词,以便在搜索其中任何一个时,其余的都包括在内

M43、M4/3、微型四分之三、MFT

我可以使用单独的查询来获取匹配关键字的列表并在 OR 中循环 - 但这似乎有点不完善。

我的数据库是一个几乎没有一致性的相机产品名称列表,我测试了全文搜索但对结果不满意。

那么是否存在不需要全文搜索实现的类似“Theasaurus”的选项?

4

1 回答 1

0

我添加了一个产品关键字字段,其中填充了替代关键字。

我的 SQL where 子句现在循环了术语并与连接的产品名称和关键字进行比较

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

感谢@SevRoberts 提供此解决方案

于 2020-07-22T18:49:29.567 回答