1

我正在使用 php 和 mysql 做一个自定义电子商务网络应用程序。我遇到了与产品搜索相关的问题。

用户输入关键字来搜索产品。搜索查询应查看其所属的产品名称和描述、类别名称和制造商名称。

表架构如下:

Products:id、name、description(及其他字段) 制造商:id、name、description(及其他字段) Category:id、name、description(及其他字段) Product_Manu:id、prod_id、manu_id Product_Cat:id、prod_id、cat_id

你能帮我处理一下 SQL 查询吗?提前致谢。

4

2 回答 2

2

大多数人倾向于使用这种方法来实现这一点:

添加/修改每个产品的数据时,您将要搜索的所有相关字段连接到一个字段(“搜索”)中,然后Full Text Search在该字段上允许 MySQL。

执行搜索时,您执行以下操作:

SELECT * FROM Products WHERE search LIKE '%$query%'
于 2013-03-12T08:51:10.773 回答
0

除了@haim770 建议的直接方法之外,我是否还建议看一下搜索框架?它们不仅可以很好地适应不断变化的搜索需求,而且当今有知识的应用程序设计人员认为 Web 应用程序的搜索功能是应用程序的制作或破坏问题。如今,仅在整个名称和描述中寻找文字文本可能还不够。

像Apache SolrElasticsearch这样的搜索框架可以很容易地整合到现有架构中,可以通过多种方式(HTTP POST、数据库索引)提供,甚至可以在发布搜索之前通过 AJAX 获取其他功能,例如搜索建议.

于 2013-03-12T09:14:19.833 回答