热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

秒搜神器everything背后的索引原理

相比较Windows系统自带的搜索功能,everything堪称搜索界的神器,尤其在电脑里文件多达数万数十万的恐怖数量,但everythi

  相比较Windows系统自带的搜索功能,everything堪称搜索界的神器,尤其在电脑里文件多达数万数十万的恐怖数量,但everything仍可做到秒搜,所以这款软件为大部分办公人员所喜爱。

  

  说到everything对硬盘的伤害程度,我们先看看everything的工作原理。

  一、everything的工作原理

  everything在第一次打开使用的时候,它会扫描整个硬盘,然后建立一个索引数据库,体积大约在2~5M左右,和电脑文件的数量有直接关系,但已经非常小了。

  索引数据库建立之后,每次搜索文件,everything就在它的数据库里搜索,而不需要扫描整个文件,这是everything和Windows系统自带搜索的本质区别。

  也因此,everything的搜索速度快到令人发指。

  

  二、everything的实际体验

  小迷虫特意做了2个测试,一个测试是电脑内置2块硬盘,一个测试是外置2块硬盘,最直观的体验就是速度非常快。

  1、everything创建的引索文件特别小

  1T硬盘根据包含文件的多少,所创建的索引文件体积,大约在2~5M左右,非常小。

  2、搜索时间快的令人发指

  一块1T的硬盘内含13万文件,搜索时间在1秒左右,另一块1T硬盘内含100万个文件,搜索时间不到3秒(关于时间也和电脑的配置有关系,每个电脑的时间不尽相同)。

  

  三、everything的优点和缺点

  优点:

  1、索引体积小;

  2、速度快,秒搜;

  3、支持正则表达式;

  4、可以将everything做成一个小型的 文件服务器,需要一定的技术;

  缺点:

  1、只能搜索文件名称、日期和大小,不支持搜索文件内容及附加属性;

  2、只支持NTFS文件系统,不支持fat32文件系统;

  3、无法搜索网上邻居和映射的网盘;

  

  四、everything对硬盘是否有伤害

  基于everything的工作原理,everything的每次搜索,并不扫描整个硬盘,而是在它建立的2~5M索引文件库里扫描,所以对硬盘的伤害微乎其微,如果电脑内的文件发生增加或者减少,索引也会跟随实时变化。

  如果说和Windows系统自带的搜索相比较,显然everything对硬盘的伤害更小,可以忽略不计。


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • Windows 系统下 MySQL 8.0.11 的安装与配置
    本文详细介绍了在 Windows 操作系统中安装和配置 MySQL 8.0.11 的步骤,包括环境准备、安装过程以及后续配置,帮助用户顺利完成数据库的部署。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • 本文将介绍由密歇根大学Charles Severance教授主讲的顶级Python入门系列课程,该课程广受好评,被誉为Python学习的最佳选择。通过生动有趣的教学方式,帮助初学者轻松掌握编程基础。 ... [详细]
author-avatar
归向大海_651
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有