【发布时间】:2012-06-28 13:26:06
【问题描述】:
我想为所有内容(或至少可搜索的内容)都存储在数据库中的网站构建站点范围的搜索。在不过度参与的情况下,我能想到的最佳方法如下:
- 用户输入搜索查询 - “棕色真皮沙发”。
- 将查询拆分为数组。
- 对数组的每一行使用 LIKE %$val% 搜索数据库 (mysql)。
- 将结果加载到数组中,然后为每个结果在内容中找到的搜索字词数量加 1 分。
- 如果结果中包含匹配数量的字词,则按特定页面的查看次数排序 - 一个受欢迎程度的指标。
使用页面标题中的搜索词为结果赋予更多价值,或允许用户使用引号搜索多词短语等操作并不会太复杂。
除了性能方面的考虑 - 限制返回的结果、缓存等,还有什么我需要考虑的或更好的方法来解决这个问题(除了实现 Google 搜索框)?
【问题讨论】:
-
您是否查看过搜索服务器,例如Sphinx?
标签: mysql search methodology