改善搜索时间

时间:2009-11-13 02:04:52

标签: algorithm search full-text-search

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

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

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

哇,哇,有关于此的全部课程和论文......

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

但是,您已经指定了全文搜索,因此我将引导您this page,其中比较了最常用的技巧。现在这是针对数组的,但是可以让您了解如何改进或改变分割或搜索。

接下来,在字符串搜索上阅读this Wikipedia article。你可以看到天真的搜索,或者你首先创建索引的搜索,这样未来的搜索就可以让你跳转 - 就像书中的章节或页码一样。

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

然后也有模糊搜索,你没有得到完全匹配 - 你可以在一些'亲密度'得分上做到这一点 - 就像一个字符匹配的百分比。

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

答案 2 :(得分:0)

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