五十 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门搜索
2024-09-24 11:45:37
第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门
我的搜素简单实现原理
我们可以用js来实现,首先用js获取到输入的搜索词
设置一个数组里存放搜素词,
判断搜索词在数组里是否存在如果存在删除原来的词,重新将新词放在数组最前面
如果不存在直接将新词放在数组最前面即可,然后循环数组显示结果即可
热门搜索
实现原理,当用户搜索一个词时,可以保存到数据库,然后记录搜索次数,
利用redis缓存搜索次数最到的词,过一段时间更新一下缓存
备注:Django结合Scrapy的开源项目可以学习一下
django-dynamic-scraper
https://github.com/holgerd77/django-dynamic-scraper
补充
默认的elasticsearch(搜索引擎)只能搜索1万条数据,在大就会报错了
设置方法
步骤一:
打开项目的索引库地址,将该索引先关闭,否则设置操步骤二无法提交
步骤二:
打开复合查询,填入如下信息,记得选择PUT方式提交,credit_trace_data改为本索引库中的索引,max_result_window设为20亿,此值是integer类型,不能无限大
http://127.0.0.1:9200/ PUT
credit_trace_data/_settings?preserve_existing=true
{
"max_result_window" : "2000000000"
}
最后点击提交申请,如果配置正确右侧窗口会显示如下信息
如果要查询max_result_window时只需要将PUT改为get即可
最后记得开启索引!
最新文章
- jasmine入门
- asp.net mvc 模型验证注解,表单提交
- HR数据抽取:通过 Read Master Data 转换规则读取时间相关主属性数据
- apk的重签名
- Java设计模式GOF之单例模式
- 安卓笔记-- popupwindow back键不消失的问题
- JAVAEE——BOS物流项目13:Quartz概述、创建定时任务、使用JavaMail发送邮件、HighCharts概述、实现区域分区分布图
- java使用SSH连接Linux系统
- 《Python从入门基础到实践》
- NetSec2019 20165327 exp1+ 逆向进阶
- 重构——一个小例子
- 空串、null串和isEmpty方法
- 一些值得收藏的MySQL知识链接
- Code Review —— by12061154Joy
- 很Low的三级菜单程序
- postMessage 消息传递
- .split(";,";, -1);和.split(";,";)的区别
- ORA-25205: the QUEUE SYS.KUPC$S_1_20180123193821 does not exist
- Arcgis10.5 python按属性分割图层,属性相同分为一个图层
- ThinkCMF 增加 区域(省、市、区)管理模块
热门文章
- 文件下载(StreamingHttpResponse流式输出)
- 【我的Android进阶之旅】 解决bug: Expected file scheme in URI: content://downloads/my_downloads/12
- 3509.com 纵横天下虚拟主机,垃圾中的战斗机
- 两款高性能并行计算引擎Storm和Spark比較
- Django 之基础学习
- https部署
- hibernate 关联关系
- Android 属性自定义及使用获取浅析
- springboot-vue项目后台2---pojo对查询结果手动分组
- jQuery个人名片焦点图