1

我敢肯定这个问题已经被问了至少 1000 次,但请听我说完。

我为 MySQL 编写了一个 PHP 脚本,用于搜索在我的图书交换网站上出售的图书。我使用本教程帮助我编​​写了 FULLTEXT 搜索脚本,它在大多数情况下都很好用。有两个真正的大问题让我和我的一些用户感到畏缩:

  1. 例如,如果我按名称搜索特定商家,Steve Miller该脚本将返回所有姓名为Steve Miller、名字为Steve和姓氏为 的人Miller。正如您可以想象的那样,该脚本返回了相当多的虚假结果。书名中的常用词(例如ofor )会变得更糟the,但它不会返回包含这些词的所有书籍。
  2. 我有一个自动建议功能,它只能在您输入整个单词时建议标题。例如搜索The Univecan'tSuggest任何东西,而The Universe可以建议The Universe Next Door

问题:是否有任何完善的脚本或框架允许我在 MySQL 数据库中搜索多个关系?我不能使用谷歌自定义搜索之类的东西,因为我正在搜索数据库中的特定关系和外键关系,而不是整个站点。

感谢您的时间。

4

2 回答 2

2

我决定使用 IndexDen 来搜索 MySQL 数据。他们有一个 PHP API 类,使您能够发送可以专门格式化以适合您的数据库结构的数据,并使用他们的服务来搜索您发送的数据中的特定“属性”。

他们还提供了不错的自动完成服务。

于 2013-01-25T15:44:29.037 回答
1

您的自动建议似乎是倒退的,它应该产生相反的结果。当有人键入 The Univ 时,它应该返回 The Universe Next Door - 这就是自动建议/完成的用途。至于问题#1。如果您愿意,有一定的秘密知识,如果有人在搜索,他们将继续输入字符,直到出现他们正在寻找的结果。如果事实上他们只是在寻找“史蒂夫”,那么他们想知道所有对“史蒂夫”的引用,或者他们只是懒惰。如果他们键入 Steve Mill,那么它应该返回 Steve Mill 以及 Steve Miller,但不返回 Steve Milworks,因为名字匹配但用户正在寻找比 Steve 更具体的名字。

于 2012-12-22T18:19:35.680 回答