如何写一个简单的搜索引擎

来源:互联网 发布:嵌入式软件系统测试 编辑:程序博客网 时间:2024/05/21 05:08

如何写一个简单的搜索引擎

一直在用sphinx,只是在用的程度而已,不是太明白它的具体原理,最近想花一段时间(我也不知道多久,一直使用php,最近得改用java写些代码了)慢慢的把搜索引擎迁移到Elasticsearch,同时订制一些服务和功能。

所以还是想明白下它的原理啦,明白原理后写个简单的搜索引擎还是不太难的。

搜索引擎大致分为三部分

1 爬虫-数据准备,我们这种垂直搜索都是自己的源了。2 建立索引3 搜索

爬虫

不谈。我们的数据来源是我们的几百万条记录你可以写个爬虫去网上抓取你想要的任意数据。爬虫注意    1 标识已经抓取的记录    2 死循环

建立索引

通过词库,把文档建立成拆分成一个个词汇和文档id对应的列表,当然还记录了其他信息,比如分词在文档中出现的文字,次数,等等,建立一棵树

搜索

对搜索词进行分词,找到词库里面的词,对词库的文档id进行打分,根据打分进行排序

参考上面的原理,再到网上找一些算法一一实现,咱们就可以写一个简单的搜索引擎了。

0 0
原创粉丝点击