Weifanwong / search_engine

python搭建搜索引擎

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

qsinghua

我的搜索引擎主要分为三部分

#1 数据爬取:利用scrapy框架选择几个新闻网站作为爬取对象,爬取到的数据保存在本地的mongodb中。每一条数据主要包含title、url、content。

#2 elasticsearch:利用elasticsearc可以从mongodb中读取数据,同时完成倒排索引、排序,从而返回具有一定合理性的结果(list)。

#3 django: 后端是用django写的,主要用来实现查找api。

#4 html/js/css: 用来搭建前端。

整体的思路: 通过前端网页输入查询内容,将查询字段利用ajax的get请求发送给django服务器,调用查询api,在查询api中调用es,使查询的结果一定的顺序返回。 返回的数据再次显示到前端网页中。

使用方法:

1、scrapy运行qsinghua爬虫(这是一个demo,只能爬取水木论坛的部分数据),囤积数据。 ../qsinghua scrapy crawl shuimu

2、运行服务器 ../search_engin/search_engin python manage.py runserver 8000

3、运行es

4、打开search_engine.html,输入查询内容,点击搜索

易错点:

1、django本地服务器一定要记得允许跨域访问!

About

python搭建搜索引擎


Languages

Language:Python 65.0%Language:CSS 14.7%Language:HTML 11.7%Language:JavaScript 8.6%