【问题标题】:improving search times改善搜索时间
【发布时间】:2010-12-16 03:34:00
【问题描述】:

只是想知道是否有任何改善搜索时间的提示(全文)。

stackoverflow、reddit 等大型网站如何实现其搜索功能?

(抱歉含糊不清 - 我是新手)

【问题讨论】:

  • 我们需要少一点模糊来给出一些指示。您使用的是什么框架/语言/后端?您是否尝试过我们可以排除的任何方法(以及为什么)?
  • 我想这无关紧要。推荐一个。
  • 这与什么框架或语言无关——算法应该与语言或环境无关。当然,一旦完成,它们就可以针对系统进行调整,但目前任何方法当然仍然可以以一般形式进行评估和考虑。
  • 好的,作为记录,我目前正在处理的应用程序是使用全文索引的 ASP.NET/ IIS /SQL Server 设置。正如 uberRouse 所建议的那样,我对可用于改进搜索的各种方法/选项更感兴趣......

标签: algorithm search full-text-search


【解决方案1】:

哇哦,这上面写了整个课程和论文...

首先,如果您要存储在数据库中,则有索引、不同的连接和视图以及各种加快查询速度的乐趣。

但是你已经指定了全文搜索,所以我会引导你到this page,它比较了最常用的技术。现在这是针对数组的,但会让您了解如何改进或改变拆分或搜索。

接下来,阅读this Wikipedia article 的字符串搜索。有一些简单的搜索,您只需查看,或者您首先创建索引,以便将来的搜索可以让您跳转 - 就像一本书中的章节或页码。

索引或模式存储技术在压缩中也非常有用,这是帮助加快搜索速度的另一种方法 - 如果您构建压缩字符串,您可以聪明地跳转到压缩部分,提取和比较,具体取决于关于您正在搜索的模式数量是否有限,或者您是否有任何需要。

然后还有模糊搜索,您无法获得精确匹配 - 您可能会根据一些“接近度”分数来执行此操作 - 例如字符匹配的百分比。

希望这至少能给你一个好的起点!

【讨论】:

    【解决方案2】:

    阅读MySQL Guide to Fine-Tuning Full-Text Search。它描述了引擎可以用来使搜索更快或更详尽的许多技术。

    【讨论】:

      【解决方案3】:

      Apache Lucene 是规范的开源全文索引引擎。如果我需要为网站构建搜索功能,我会从那里开始。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多