如何改变程序搜索数据的方式?使用Redis进行搜索

当用户在文本编辑器或者文字处理软件中搜索一个单词或者句子的时候,软件就会对文件进行扫描并寻找那个单词或者句子 。如果读者曾经使用过linux、Unix或者OS X的grep程序,或者曾经使用过windows内置的文件搜索功能来查找包含特定单词或者句子的文件,那么应该就会注意到,被搜索文件的数量越多、体积越大,搜索花费的时间也会越长 。
与在本地电脑上面进行的搜索不同,在Web上面搜索Web页面或者其他内容的速度总是非常快的,即使在文档的体积和数量都非常巨大的情况下,也是如此 。在这一节中,我们将学习如何改变程序搜索数据的方式,并使用redis来减少绝大部分基于单词或者关键字进行的内容搜索操作的执行时间 。
为了给遇到问题的用户予以帮助,Fake Garage创业公司建立了一个由疑难解答文章组成的知识库 。最近几个月以来,随着知识库文章的数量和品种不断增多,使用数据库驱动的搜索程序也变得越来越慢 。因为Redis具备构建内容搜索引擎所需的全部功能,所以我们决定使用Redis来构建一个新的搜索程序,从而提高对知识库文章的搜索速度 。
我们首先要做的就是思考这样一个问题:比起一个单词接一个单词地扫描文档,如何才能以更快的速度对文档进行搜索?
7.1.1 基本搜索原理为了获得比扫描文档更快的搜索速度,我们需要对文档进行预处理,这个预处理步骤通常被称为


    推荐阅读