第三百七十一节,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即可

最后记得开启索引!

最新文章

  1. jasmine入门
  2. asp.net mvc 模型验证注解,表单提交
  3. HR数据抽取:通过 Read Master Data 转换规则读取时间相关主属性数据
  4. apk的重签名
  5. Java设计模式GOF之单例模式
  6. 安卓笔记-- popupwindow back键不消失的问题
  7. JAVAEE——BOS物流项目13:Quartz概述、创建定时任务、使用JavaMail发送邮件、HighCharts概述、实现区域分区分布图
  8. java使用SSH连接Linux系统
  9. 《Python从入门基础到实践》
  10. NetSec2019 20165327 exp1+ 逆向进阶
  11. 重构——一个小例子
  12. 空串、null串和isEmpty方法
  13. 一些值得收藏的MySQL知识链接
  14. Code Review —— by12061154Joy
  15. 很Low的三级菜单程序
  16. postMessage 消息传递
  17. .split(",", -1);和.split(",")的区别
  18. ORA-25205: the QUEUE SYS.KUPC$S_1_20180123193821 does not exist
  19. Arcgis10.5 python按属性分割图层,属性相同分为一个图层
  20. ThinkCMF 增加 区域(省、市、区)管理模块

热门文章

  1. 文件下载(StreamingHttpResponse流式输出)
  2. 【我的Android进阶之旅】 解决bug: Expected file scheme in URI: content://downloads/my_downloads/12
  3. 3509.com 纵横天下虚拟主机,垃圾中的战斗机
  4. 两款高性能并行计算引擎Storm和Spark比較
  5. Django 之基础学习
  6. https部署
  7. hibernate 关联关系
  8. Android 属性自定义及使用获取浅析
  9. springboot-vue项目后台2---pojo对查询结果手动分组
  10. jQuery个人名片焦点图