开始使用 Flask 搭建 ES 搜索。



配置文件


Config.py

这是一份相对简单的 Flask Config 文件,当然对于当前项目来说数据库的连接不是必要的,我只是用 Mysql 来作为辅助用,小伙伴们没有必要配置连接数据库,有 ES 足以。然后邮箱通知这个看个人需求 .....

日志

Logger.py

日志模块在工程应用中是必不可少的一环,根据不同的生产环境来输出日志文件是非常有必要的。用句江湖上的话来说: "如果没有日志文件,你死都不知道怎么死的 ....."

这里准备好了一份我常用的日志配置文件,可作为常用的日志格式,直接调用即可,根据不同的等级来输出到终端或 .log 文件,拿走不谢。

路由

对于 Flask 项目而言, 蓝图和路由会让整个项目更具观赏性(当然指的是代码的阅读)。

这里我采用两个分支来作为数据支撑,一个是 Math 入口,另一个是 Baike 入口,数据的来源是基于上一篇的百度百科爬虫所得,根据 深度优先 的爬取方式抓取后放入 ES 中。

声明路由并在 __init__ 文件中初始化

下面来看看路由的实现(以Baike为例)

可以看到我们成功的将 elasticSearch 类初始化并且进行了数据搜索。

我们使用了 Flask 的分页插件进行分页并进行了单页数量的限制,根据 Uid 来跳转到详情页中。

细心的小伙伴会发现我这里用了个小技巧

以此来保证存放详情页面的模板中始终只保留一个 html 文件。

项目启动

一如既往的采用 flask_script 作为项目的启动方案,确实方便。

黑窗口键入

就可以启动项目,默认端口 5000,访问 http://127.0.0.1:5000


手把手教你使用Flask搭建ES搜索引擎(实战篇)-LMLPHP


使用gunicorn启动

利用配置文件来启动 gunicorn 服务器

项目截图

手把手教你使用Flask搭建ES搜索引擎(实战篇)-LMLPHP


手把手教你使用Flask搭建ES搜索引擎(实战篇)-LMLPHP


手把手教你使用Flask搭建ES搜索引擎(实战篇)-LMLPHP

以上就是手把手教你使用Flask搭建ES搜索引擎(实战篇)的详细内容,更多请关注Work网其它相关文章!

09-04 18:20