【问题标题】:Predicting/Correcting full text search预测/更正全文搜索
【发布时间】:2015-07-21 00:25:18
【问题描述】:

我正在开发一个 Web 应用程序,该应用程序具有全文搜索功能,可以正常工作。我想对此进行改进并为其添加预测/更正功能,这意味着如果用户输入错误或结果为 0 的内容,则会查询该输入的 更正 版本,而不是结果。基本上类似于谷歌的did you mean: x 功能。

Laravel 中是否有一种简单的内置方法可以执行此操作,或者有什么有用的检查方法?我已经在 Google 上搜索了一段时间,但没有找到任何相关信息。

我正在使用带有 MySQL 数据库的 Laravel 4.2,如果这很重要的话。

【问题讨论】:

  • 类似这样的东西 - twitter.github.io/typeahead.js?
  • 您正在寻找的是模糊逻辑。这与近似匹配而不是精确匹配有关。不同的算法允许您指定要匹配的 %age 差异。 Elastic Search 和 Amazon 服务都有这方面的实现,但您需要对其进行更多研究,因为此类问题实际上不可能得到准确的答案。

标签: php mysql laravel search laravel-4


【解决方案1】:

对于类似的情况,我使用elastic search 表示

你的意思是……?

Elastic 搜索的功能远不止于此,例如它会针对许多不同的案例以及更多案例对相关结果进行排序。 你可以使用 Elasticquent 来实现 Elasticsearch 到 eloquent 的 Laravel。

【讨论】:

    【解决方案2】:

    没有内置任何东西。最初我会考虑集成拼写检查 - packagist 上有几个包可用,虽然我不知道它们的性能如何

    https://packagist.org/search/?q=spell

    在第二层,我猜你可以将搜索词存储在数据库中,然后执行“搜索 x 的人也搜索了 y”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-24
      • 2021-10-24
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多