【发布时间】:2026-01-17 21:25:01
【问题描述】:
我有一个新网站,列出了大量产品,使用 php 构建并使用 mysql 数据库。
我们需要像其他大型网站一样进行搜索,例如,在搜索“山地自行车”时选择标题中包含“山地自行车”的产品 - 仅在搜索输入的术语。我在一个较小的网站上使用了 AGAINST 匹配,它在那里工作得很好,但是由于每个单词都是单独搜索的,在这种情况下,由于数据库中的数量,它可能会带来大量不相关的产品。
谁能帮忙看看在网站上搜索的最佳方法是什么?
【问题讨论】:
-
当您使用
LIKE 'mountain bike%'时,它会在mountain bikes上产生命中 -
最佳搜索方法?阿帕奇索尔。如果您只想坚持使用 MySQL,也许可以选择全文搜索(尽管它会比基于 Lucene 女神的 Solr 更慢且精度更低)。
-
不是像我提到的那样使用 MATCH AGAINST 等进行全文搜索吗?这不会单独搜索每个单词,然后会显示任何标题包括“山”或“自行车”的产品吗? stUrb,我的意思是 LIKE '%mountain bikes%' 不会提出名为 'mountain bike' 的产品,除非有办法改变它?
-
请注意,搜索“站点”和搜索“数据库”不一定是一回事。