- 主题:linux中是不是没办法有everything那么快的搜索?
我搜到的也是这么说的。感觉它主要还是利用mft表。否则它这么快就不止限于ntfs。其他文件系统也应该可以非常快。
【 在 stany 的大作中提到: 】
: 百度回答:
: Everything的工作原理主要依赖于NTFS文件系统的Master File Table(MFT)和USN Journal的特性。
: Everything在第一次启动时会扫描整个磁盘,并建立一个索引库。这个索引库是通过遍历NTFS文件系统的MFT表来完成的,MFT表中存储了所有文件夹和文件的名称、路径等信息。通过读取MFT表,Everything能够获取当前磁盘中的所有文件信息,并保存在数据库中。
: ...................
--
FROM 111.196.134.*
看看我 签名档里 这个
【 在 chunhui 的大作中提到: 】
: 搜了一下,everything用到了ntfs的mft表。这里面有所有的文件名。所以它找文件名特别快。而且mft这个表是ntfs的内部结构。其他文件系统没有。而且windows还提供了读写文件系统内部结构的api。这就有点不好搞了。linux下的文件系统是不是没有类似的结构可供读取?
--
FROM 124.207.188.194
Master File Table(MFT)和USN Journal
ntfs文件系统,他所有文件修改会在usn journal日志体现。everything监听压力很小。
其他文件系统可没有这种日志给你提供服务,系统的文件索引也需要分析。
所以搞这类实时的搜索,第一次建索引慢,监听压力也大得多。
【 在 chunhui 的大作中提到: 】
: 我搜到的也是这么说的。感觉它主要还是利用mft表。否则它这么快就不止限于ntfs。其他文件系统也应该可以非常快。
--
修改:stany FROM 27.11.145.*
FROM 27.11.145.*
厉害。这是你作的?
感觉只是索引文件名,就很复杂。比如我上面说的情况。何况内容了。。。
【 在 DreamDreams 的大作中提到: 】
: 看看我 签名档里 这个
--
FROM 111.196.134.*
我说的就是这个。所以在其他文件系统上,很难实现everything这样的速度。
【 在 stany 的大作中提到: 】
: Master File Table(MFT)和USN Journal
: ntfs文件系统,他所有文件修改会在usn journal日志体现。everything监听压力很小。
: 其他文件系统可没有这种日志给你提供服务,系统的文件索引也需要分析。
: ...................
--
FROM 111.196.134.*
显然不是我 做的
工程浩大,这东西是 全文检索,比 仅只 文件名可 厉害 太多了
唯一不足之处,是他的 索引 引擎xapian, 中文分词做的 不好
现在还在用2-gram这么 暴力的 方法
不过这些年遍搜网络我也 没找到一款 开源好用的分词器
当年 曾经 照着一个 台湾人的 论文自己手撸了 一个, 不过做的很糙
早已放弃
【 在 chunhui 的大作中提到: 】
: 标 题: Re: linux中是不是没办法有everything那么快的搜索?
: 发信站: 水木社区 (Mon Dec 2 15:41:08 2024), 站内
:
: 厉害。这是你作的?
:
: 感觉只是索引文件名,就很复杂。比如我上面说的情况。何况内容了。。。
: 【 在 DreamDreams 的大作中提到: 】
: : 看看我 签名档里 这个
:
: --
: 要把想你的心情收敛 我把门窗关严 但五彩的烟花 却把天空照映成你的笑脸
: 要把想你的心情收敛 我独自走在河边 但倒映在水面的灯火 却让河水起了波澜
: 要把想你的心情收敛 我把酒杯斟满 但朦胧的醉意中 却听见你一次次温柔的呼唤
: 要把想你的心情收敛 我用手去拢住一缕青烟 但它化为更淡更多 却向心中蔓延
:
: 10
:
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 111.196.134.*]
--
FROM 124.207.188.194
Linux下 有inotify/gnotify , 事件驱动的
【 在 chunhui 的大作中提到: 】
: 标 题: Re: linux中是不是没办法有everything那么快的搜索?
: 发信站: 水木社区 (Mon Dec 2 15:44:41 2024), 站内
:
: 我说的就是这个。所以在其他文件系统上,很难实现everything这样的速度。
: 【 在 stany 的大作中提到: 】
: : Master File Table(MFT)和USN Journal
: : ntfs文件系统,他所有文件修改会在usn journal日志体现。everything监听压力很小。
: : 其他文件系统可没有这种日志给你提供服务,系统的文件索引也需要分析。
: : ...................
:
: --
: 旅游是 旅游不是
: 无趣朋友间最好的谈资 屌丝望尘莫及的高级消费
: 空白人生中廉价经验值 宅男感受不到的浪漫体会
: 乏味生活上显著的存在感 卢瑟难以企及的身价资本
: 无知头脑里最直接的见识 土鳖无法理解的人生意义
: 17
:
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 111.196.134.*]
--
FROM 124.207.188.194
我好奇everything怎么弄这么快的。搜了一下。发现这个东西有相当的难度。还没考虑到全文检索的程度,就够复杂的了。
不过这个东西windows和mac中官方的搜索也做的很一般。有时候你明知道有那个关键词,它就是搜不出来。
【 在 DreamDreams 的大作中提到: 】
: 显然不是我 做的
: 工程浩大,这东西是 全文检索,比 仅只 文件名可 厉害 太多了
: 唯一不足之处,是他的 索引 引擎xapian, 中文分词做的 不好
: ...................
--
FROM 111.196.134.*
mac中也有通知机制 好像是fevents。但没有向windows一样的文件系统底层读写接口。
【 在 DreamDreams 的大作中提到: 】
: Linux下 有inotify/gnotify , 事件驱动的
--
FROM 111.196.134.*
locate
【 在 chunhui 的大作中提到: 】
: 搜了一下,everything用到了ntfs的mft表。这里面有所有的文件名。所以它找文件名特别快。而且mft这个表是ntfs的内部结构。其他文件系统没有。而且windows还提供了读写文件系统内部结构的api。这就有点不好搞了。linux下的文件系统是不是没有类似的结构可供读取?
: --
: ..................
发自「今日水木 on iPhone SE」
--
FROM 211.95.83.*