您还没有专辑

开始创建自己的专辑吧

创建
您可在个人中心-我的专辑处查看
当前位置:首页 > 编程开发 > 博客搜索引擎开发(1)-Python博客系统实战
下一节课程:这里显示课程名称长度多少课程名播放下一节重新播放
5s后将自动前往下一节课
为你推荐课程
为你推荐直播课
升级VIP特权,畅学全站89000+会员教程
立即升级特权超值
89000+教程
不限次学
素材/源文件
不限次下载
161大职业路径
不限次学
虎课读书
不限次收听

免费学习即将结束

关闭继续学习>

分享/下载
加入专辑收藏源文件
记笔记
编辑完成后,记得点我~

AI助教课程信息目录
我是AI助教小虎,你可以对本课程提出问题,我将根据课程内容为您解答
🌟1. 帮我总结这节课程的主要内容与知识点总结
💡2. 帮我提炼这节课程的章节段落
一键登录使用AI助教全新功能
复制

内容由AI大模型生成,请仔细甄别内容

图文教程学员互动 (1) 视频字幕
100%作业点评课后上传的作业,学习过程中有困难疑惑都可进行提问
您需要学习后才可以评价, 立即学习
全部互动一课一练课程提问
有内容评论
本课作业要求(暂无用户提交作业)
作业要求:根据视频教程中的内容,进行作业练习,在互动评论中上传你的作业,也可运用其他素材进行练习

那就开始今天的教程吧

1.本节课学习集成搜索引擎,对博客文章的标题、内容进行搜索结果的展示,比如说可以在网站中搜索任意想要的一个关键字,找到与这个关键字有关联的所有博客文章,这个也是内容网站必须要有的核心功能,

 学习在Django这个框架下,在Python领域中搜索引擎方面有哪些核心的三方库,以及Django是如何集成这些三方库在Web项目中实现搜索的功能,这一讲就是为博客系统添加搜索引擎,能够展示这种按关键字检索的文章内容。

 在Python领域中与搜索相关的三个主要的三方库,【haystack】是一个搜索相关的支持的三方库,核心底层会用到whoosh,【whoosh】是比较著名的一个搜索引擎,【jieba】支持中文的分词库,它们三个互相结合在一起,

 再被Django框架集成进来,就可以用配置的这种方式来在Django这种框架中开发搜索引擎功能。

2.【whoosh】在所有要检索的内容发生变化的时候,它会有索引文件生成出来,下一次的查找都是在索引里边去查找,不是每次都通过这种持久化的数据源,从文件中再去读取原始的文章内容,这个是搜索引擎它的核心价值,

 【haystack】与Django是中间的衔接框架,它开发了很多的API和路由的功能,它的核心会调用whoosh来完成索引和引擎文件的配置和生成的过程,然后whoosh在生成搜索文件的时候,它就会结合着jieba分词库对中文有比较好的支持,

 但是haystack核心不仅限于使用whoosh这个库,它还有其他的一些库也是支持的,然后分词引擎也不仅仅只有jieba一个,但是在Django的这个框架中比较推荐。

3.回到开发工具Pycharm中,不是装原生的haystack三方库,要装经过Django和haystack结合二次开发的封装包,叫【django_haystack】,之后再装pip install,是whoosh,然后装pip install jieba,然后来进行配置,

 因为Django是国外开源的项目,它底层默认配置的分词器不是jieba,要把它进行替换,在haystack找到whoosh_backend,这个要根据你的环境来配置,在你用的Python解释器的三方库环境下找到haystack这个包,

 它下面有一个子目录叫backends,下面有一个脚本叫whoosh_backend,不建议直接改它。

4.比方说放到blog应用下,因为当前的这个搜索引擎就是为blog这个应用来配置的,给它改名字叫cn,要引入jieba提供的分词类,【from jieba.analyse】 就是分析import一个类,这个类是ChineseAnalyzer中文的分析器,

 把它导入到whoosh的配置脚本中,找第244行,也就是用到分词器的位置,它现在用的是StemmingAnalyzer,这行注释掉,换成jieba提供的中文的分析器。

5.ReadMe第一讲的时候写过了搭建项目框架的过程,haystack搜索引擎的配置与开发,第一步要安装三个包,三方库都包括【django_haystack,jieba,whoosh】,把它们三个安装好,第二步是重新配置jieba的分词器,

 要找到自己环境中haystack三方库的位置,把里边haystack这个目录给大家写一下,然后把backends下面的whoosh_backend.py拷贝出来放到blog目录下,并且改成你自己的名字,加下划线cn,还是加什么都可以。

 

6.然后修改文件内容,内容有两处,第一步【引入jieba分词类】,第二步【替换原有的分词类】,大概在244行左右,这个大家一定要自己找,因为很有可能会变,因为haystack跟blog一样,它就是一个APP应用,

 安装完了之后像CKEditor,要在settings中把它加入到应用中,除了blog comments就是自定义的应用之外,像CKEditor这两个也是需要加进来的,同样haystack也是一个应用包,它和我们自己创建的没什么区别,要把它引入进来。

7.加完之后要对haystack进行配置的工作,要让haystack和Django进行集成,需要让Django知道haystack在哪里,它的引擎是什么,最后要加上haystack的配置,首先haystack要有它的CONNECTIONS,

 就是连接haystack搜索的一些相关的配置,引擎在哪里,搜索文件的目录在哪里也是需要给出来的,【default】有字典类型的参数,第一个就是配置引擎,引擎叫ENGINE,放在whoosh_backend_cn.py,引擎里边它有一个类,

 这个类叫WhooshEngine,就是用到的whoosh的引擎类,它就用这句话将引擎和haystack这个框架进行了集成。

查看更多
您需要学习后才可以评价, 立即学习
字幕加载中...
登录后查看更多
换一批

为你推荐

同学,小虎知道你非常努力的想学习!

老师录制课程真的也很辛苦

赞助一下吧

确定学习吗?

您每天可免费学习一个教程。

成为VIP可无限学习 !

成为VIP吧!

成为VIP吧!

您已经免费学习 1 个教程 !

我们录制教程很努力的,赞助下吧 !

升级VIP吧!

您已经学习 5 个教程啦!

我们录制教程很努力的,赞助升级下吧 !

您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个素材文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计下载5个源文件


您在当前分类下不是VIP,赞助VIP享受无限下载


您已经累计观看5个图文教程


您在当前分类下不是VIP,赞助VIP享受无限观看


学习后才能评价哦!

学习后才能提问哦!

获得30虎课币

评论提交成功,将在审核通过后显示

×

下载素材/源文件:

收藏成功
取消成功
已是第一张图了
已是最后一张图了
已是第一张图了
已是最后一张图了
记笔记

导出笔记

笔记导出历史

00:00

0/12
确定保存
笔记导出历史导出完成的笔记将保留1天,如有需求请及时下载
课程名称
导出时间
文件大小
状态
操作
AI视频总结
AI正在分析视频,请稍等…
AI总结遇到了一些问题 点击重新获取
点击重新获取
成为全站通VIP 查看完整AI总结
复制
特惠
充值
7折购
今日还在继续学习的你,太棒了!
7
折扣券可用于
年费无限VIP
立 即
使 用
此活动优惠不可与其他活动叠加使用
有效期:000000
消息
登录即可查看消息记录
建议
意见
官方
客服
在线咨询客服热线

您可以与在线客服进行沟通获得帮助

工作日:9:00~22:00节假日:9:00~18:00

联系在线客服

您可以电话联系客服进行沟通获得帮助

工作日:9:30~18:30

400-862-9191
虎课
积分
免费学习89000+个教程!
配套素材、源文件一键下载!
昨日学员已学习了27,078
并提交了210份作业!
登录后立即学习!
loading
微信扫码关注即可登录
您需要同意协议才可以进行登录
登录虎课网,每天免费学课程全站 89000+ 视频会员教程 | 每日可免费学 1
为确保账户信息安全
请先进行真实姓名验证后进行充值付款
立即验证