在Linux环境用Python下开发全文索引

豆豆网   技术应用频道   2007年03月10日  【字号: 收藏本文

本文详细介绍在Linux环境用Python下开发全文索引

  随着信息量的增长,高效地定位特定信息变得越来越重要。本专栏将探讨全文索引领域,并集中讨论作者的公共域 indexer 模块。

  本专栏将探讨我的 Python 项目:indexer 模块,并且还有一项特殊目的:我和你们一样也一直尽力学习更多知识,为此,本专栏欢迎读者提出自己的意见和想法。您的投稿将会在项目中或在未来的专栏里出现。通常,我希望本专栏能反映出读者的兴趣和知识而不仅仅是我一个人的。这就让我们开始吧。

  我希望 indexer 模块,即使是早期的版本也能证明给读者是有用的。此全文 indexer 可作为单独的实用工具或大型项目的一个模块。其设计说明了可重复使用的面向对象编码的准则和文本索引(极其精妙而丰富的主题)的基本原理。尽管 Knuth曾经忠告我们:“不成熟的优化是问题的根源”,但索引的目的在于快速地找到信息,因此本专栏同时也将讨论性能问题。

  indexer 模块大约是来源于某大学希望寻求一种好的方法来查找大量文本和 HTML 帮助文档。也是我想利用多年积累下来的信件、新闻和写作档案的一个小动机。很简单, indexer 让用户定位文档时,很难甚至无法以规则表达式来指定搜索条件,并且快速的执行。虽然有些商业软件或免费工具能完成类似的工作,但大多都是针对 Web 索引。他们(即使是通过 LOGALHOST 也)需要 CGI 接口,安装和使用都相当困难,其中只有唯一一个为 Python 设计的软件(有不同的侧重点)。另一方面,indexer 必须设计成易于使用。当然,有些更早期并且更复杂的软件功能更强大,但 indexer 设计目的是在不失其简单易用特性的前提下拓展功能。

  关于搜索引擎

  本专栏的名称“全文 indexer”隶属于另一个更宽泛的类别 -- “搜索引擎”。对大多数用户,搜索引擎通常是用来定位 URL 和 WWW 的。的确,WWW 肯定是人类有史以来最大的公共文档库,它的非正规组织结构使其非常需要有好的搜索引擎。而且,其他文档集 -- 特别是包括本地硬盘上不断增加的文件 -- 也将获益于搜索引擎。分级文件系统和文件命名规范是好方法,但他们的发展还远远不够;有些时候您只需找到 包含某条信息的文档。

责编:豆豆技术应用

正在加载评论...