【发布时间】:2010-11-27 18:08:26
【问题描述】:
我不知道它们在普通的 Windows 搜索中使用什么。但是有一种技术,您可以一次使用文件索引,然后稍后使用索引来进行更快的搜索。(例如 Windows 搜索 4.0)
还有比这更快的搜索方法吗?您能从实施的角度详细说明吗? (假设我可能需要实现它)
为了便于理解,我这样说:
假设我想构建一个搜索应用程序,它执行类似于我们在 Windows 中使用的搜索操作。
我的问题是,构建这样的应用程序有哪些可能的选项/方式/方法? (并且比现有的更快。)
(可以使用二叉搜索树这种技术吗?)
【问题讨论】:
-
首先,您是否有理由必须自己构建?有很多优秀的开源项目,比如 Lucene(和用于 .NET 的 NLucene),它们内置了很多这样的功能。除非你绝对必须从头开始构建,否则我会使用这个。即使你这样做,我也会从这样的项目的源代码开始。实际上不只有一种最佳搜索技术。根据内容和您的搜索内容,有一整包。请向我们提供更多详细信息。
-
@Anthony 谢谢Anthony。我知道有很好的开源项目可用于实现搜索应用程序。但是你可以假设我想从头开始构建它。没有具体原因。正如我之前问过的,我想知道,使用二叉搜索树有用吗?我这么说是因为我很久以前在某个地方读到过它,但我忘记了这个概念。让我们看看是否有人帮忙。
-
我认为您不会得到更好的答案,因为包括 Windows Search 4.0、Google 桌面搜索等在内的所有搜索技术在内部都使用索引并使用 B+ 树,并且主要用于在当前存在的所有数据库中进行索引在市场上。老实说,除了索引之外,没有更快的方法,索引的性能取决于您选择的算法。
标签: .net data-structures full-text-search filesystems search