建立简单的信息检索系统(上)

在“搜索引擎”文章中我们提到过,任何信息检索系统都不外乎这几个步骤:建立数据库、建立索引、进行搜索、返回有价值信息。但是一个优秀的信息检索系统会在建立索引之前对搜索文档进行预处理。这种预处理,有可能是切分文档,有可能是美化格式,有可能是替换字符,也有可能是格式转换。这些都是建立在自己对系统的需求上的。

那么让我们一步一步地建立起我们的信息检索系统。

1.       建立文本数据库

再次声明,文本数据库就是用来存放可能要搜索的信息的。因此,我们可以将一个txt文本文件当作一个简单的文本数据库。

2.       对搜索文档的预处理

上面提到,这种预处理是在使用者对系统的需求下运应而生的。所以预处理的可能有很多,我们只举一个简单的例子。如:将全角字符转化成半角字符。

当然,转化的方式也有很多(不是我故意这么说,毕竟Java的灵活性是不容置否的),可以用array来盛放要转换的字符,若是不嫌麻烦,甚至可以用String逐一替换。由于HashMap拥有特殊key-value对,所以在这里用HashMap还是比较简捷的。

那么,此时我们遇到一个问题,整个搜索文档中的信息是很多的,如果把所有信息都当作String类的字符串当作参数传入这个replace()方法内,势必会影响运行速率。所以,这就有了新的预处理需求——切分信息。将信息切分成一句一句的小信息取出进行字符转化预处理。

OK,到这里为止,我们已经把文档信息像我们想的那样,全角符号转化成半角符号了。接下来便是建立索引了。但是,在真实的环境中,我们要对大量文档进行索引的建立,而这些文档可能是不同类型和不同格式的,需要进一步的预处理——统一文档格式。这是复杂的,不符合我们这篇文章的目的,因此不再赘述。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值