百度、谷歌等搜索引擎的实现原理

引言

本文只是介绍实现思路针对使用技术进行介绍,无相关代码。
推荐技术solr ,hadoop ,lucene/ElasticSearch,nutch一条龙服务前端

第一步分词

推荐使用IKanalyze或者mmseg4j,对中英文良好的支持,做用为将一句话拆成多个词汇。
亦可以使用多个分词技术python

第二步匹配关键词

将得到的关键词逐一进入数据库进行匹配(固然实际是去缓存)
匹配结束后会得到每一个词汇的一些文章web

第三步清洗得到的文章

对得到的文章进行清洗,留下包含多个关键词的文章,去掉只含少许关键词的文章算法

第四步排序输出

推荐三种算法模型
1.贝叶斯几率模型
2.向量空间模型
3.词频几率模型数据库

重点说明

由于自己涉及算法和缓存不涉及业务
1.有能力的话算法层面调用python
2.缓存使用一致性算法的分布式缓存注意缓存雪崩便可
3.前端方面采用AJAXRPC让相应更加迅速缓存