搜索算法以查找带和不带“-”符号的符号

Search algorithm to find symbols with and without "-" sign

在我的 prestashop 1.6 商店中,我的搜索算法有问题。每个产品在描述中都有兼容性,它看起来像:"DCP-9015"。我希望搜索算法在用户按单词查找时找到它:"DCP9015"。 我不知道如何让它工作。

您应该按以下方式尝试 mysql 的 Replace 功能:

SELECT *
FROM Table_XY
WHERE REPLACE(field2,'-','') LIKE '%' + field1 + '%'

您可以使用搜索别名工具。在您的后台转到 Preferences > Search 并在顶部单击 Add new Alias

在这里您可以为 DCP-9015 提供一个别名。在 Alias 字段中键入 "DCP9015" 并在 Result 字段中键入 "DCP-9015".

保存并为您需要创建的每个别名重复此操作。

如果你有很多别名,你可以通过编程来完成。如果你真的想要,你也可以覆盖 /classes/Search.php 中的 indexation() 方法,但这需要更多的工作。