Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 开发谷歌桌面搜索等应用程序的索引算法?_Algorithm_Full Text Search_Search Engine - Fatal编程技术网

Algorithm 开发谷歌桌面搜索等应用程序的索引算法?

Algorithm 开发谷歌桌面搜索等应用程序的索引算法?,algorithm,full-text-search,search-engine,Algorithm,Full Text Search,Search Engine,我想开发类似谷歌桌面搜索的应用程序,我想知道我应该使用哪些索引技术/算法,以便能够快速检索数据 用于压缩bzip2中数据的Burrows-Wheeler变换可用于使文本的子字符串搜索成为一个恒定时间函数 我在网上没有看到简单的介绍,但这里有很多细节: 一般来说,您需要的是一个。你可以自己编制索引,但要想做对这件事需要做大量的工作——你需要处理,扩展发帖列表以包括文档中的职位,这样你就可以处理多词查询,等等。然后,您需要将索引存储在磁盘上的数据库中,或者您可以使用现有的数据库来存储磁盘,使您的生

我想开发类似谷歌桌面搜索的应用程序,我想知道我应该使用哪些索引技术/算法,以便能够快速检索数据

用于压缩bzip2中数据的Burrows-Wheeler变换可用于使文本的子字符串搜索成为一个恒定时间函数

我在网上没有看到简单的介绍,但这里有很多细节:


一般来说,您需要的是一个。你可以自己编制索引,但要想做对这件事需要做大量的工作——你需要处理,扩展发帖列表以包括文档中的职位,这样你就可以处理多词查询,等等。然后,您需要将索引存储在磁盘上的数据库中,或者您可以使用现有的数据库来存储磁盘,使您的生活更加轻松,例如。您还需要编写一个查询计划器来解释用户查询,执行并将其转换为一系列索引扫描。维基百科关于的文章也很好地概述了所有的挑战


或者,您可以利用现有的工作,使用现成的全文索引解决方案,如和(构建在Lucene上)。这些工具几乎可以处理上面(以及更多)详细介绍的所有内容,只需编写一个工具,通过将所有文档输入Lucene来构建和更新索引,并使用UI来允许用户进行搜索。

有没有其他用于快速数据检索的技术?