`
imjl
  • 浏览: 156376 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

已知关键词的快速索引

阅读更多
关键词已知的情况下,快速索引。

给定:1300个关键词,在1000条信息中比较,将对应的关键词和记录id记录下来。

分析:简单测试,将1300个关键词放入hashtable,循环1000次,一条条记录做IndexOf(c# 中判断字符串是否存在的方法),花费时间很长。

解决:重复太多,改进方法就是减小重复,将1300个关键词取第一,第二个char作为下标各自放入bit数组,建立第一个char对应的struct,包含该字符起头的最长关键词长度和最短关键词长度以及相应的关键词hash表。反向以最后和最后第二个char为下标放入另一bit数组。
从0开始到字符串长度的循环,一个个char判断,一旦遇到同时符合第一,第二个char都是的情况下进入关键词检查。当拿到关键词,就偏移关键词的长度。

效率在100多ms。

这不是最快的,而且内存使用不是最好。

如果你有不错的想法,可以交流。


这适合一些搜索关键词已知的情况,索引很小,速度也快。
分享到:
评论

相关推荐

    VC知识库1-53期合订本索引文件

    3. **关键词索引**:为了提高查找效率,索引文件通常会有关键词索引,用户可以通过输入特定的关键词找到相关的文章和讨论。 4. **技术问答**:索引可能还包括了过去的问题与解答,这些问题通常是开发者在实际编程中...

    百度硬盘搜索,本地文件索引

    作为一款本地文件索引工具,百度硬盘搜索通过预先对硬盘上的文件进行快速扫描和建立索引,从而实现了对大量文件的快速搜索。尤其对于处理大型项目,尤其是涉及大量代码的工程来说,这个工具能够极大地提高开发者寻找...

    Solr全文索引

    - **全文检索**:Solr能够对文本进行分词,建立倒排索引,从而快速定位到包含特定关键词的文档。 - **分布式搜索**:通过Sharding和Replication,Solr可以分布在网络中的多台机器上,处理大规模数据并提高查询性能...

    基于关键词的网络信息资源检索

    1. **自动化程度高**:关键词可以通过自动化手段(如网络爬虫)从网页中自动提取并建立索引数据库,大大降低了人工干预的成本。 2. **专指性强**:由于关键词直接来源于文档内容,其含义明确且指向性强,能够准确...

    最新版windows lucene-8.6.1.zip

    索引构建则将这些关键词存储为倒排索引;最后,搜索功能根据关键词在索引中查找匹配结果。 总结,Lucene 8.6.1是Windows平台上构建高效全文搜索引擎的优秀选择。它的灵活性、强大功能以及持续的改进,使得开发者...

    云服务器中基于同态加密的关键词检索方案.pdf

    以往的研究包括基于建立文档索引来实现精准关键词搜索,以及利用倒置索引对加密数据进行安全排序的单关键词检索方案。然而,这些方案仅支持对关键词的精准搜索,输入格式错误可能会导致检索结果不准确。此外,模糊...

    Win7搜索让文件快速现身.docx

    1. **针对已知关键词的文件搜索**:刘经理仅需在搜索框中输入“总结”,系统就会立即列出所有包含此关键词的文件。 2. **基于时间的搜索**:对于未知名称的文件,刘经理可以通过设置“修改日期”为3月份来进行筛选,...

    10文献检索[参照].pdf

    索引的种类繁多,可以根据编纂体式分为逐字索引、句子索引、关键词索引等,按文献来源分为图书索引和报刊索引,按内容则有综合性索引、专科性索引和专题索引等。在古典文献检索中,通常会涉及书名、人名、地名和字...

    快速搜索利刃

    1. **即时搜索**:输入关键词后,"快速搜索利刃"几乎可以瞬间显示出匹配的文件结果,无需等待长时间的扫描过程。 2. **智能过滤**:除了基本的文件名搜索外,还可以根据文件类型、大小、创建日期等多种条件进行筛选...

    百度硬盘搜索软件,百度一下你的电脑!

    这通常涉及到快速索引技术,通过建立文件的索引数据库,实现快速响应用户的搜索请求。这种索引服务可以在后台自动运行,确保文件一旦创建或更新,其相关信息就能立即反映在搜索结果中。 在压缩包内的文件“BaiduDS_...

    搜索工具

    这可能意味着该工具具备快速索引和检索能力,能在短时间内处理大量文件并返回搜索结果。作者个人长期使用并且推荐,也表明了这款工具的稳定性和实用性得到了验证。 标签“搜索”进一步明确了讨论的主题,即与文件...

    【中国开源竞赛】Gsearch桌面搜索软件(源码)

    Gsearch实现了这一功能,允许用户通过关键词快速定位到所需的信息,提高工作效率。桌面搜索的核心在于建立索引,索引包含所有文件的关键信息,以便于在短时间内完成查询。 二、源码分析 1. 文件结构:Gsearch的源码...

    Locate32(文件查找)绿色汉化版 V3.1 build 8.09210

    至于V3.1 build 8.09210这个版本,可能会包含一些新特性或改进,例如可能提升了索引速度,优化了用户体验,或者修复了一些已知问题。具体的更新内容通常会在发布说明中详细列出,用户可以查看官方发布的更新日志获取...

    lucene-4.9.1

    4. 索引(Index):倒排索引结构,用于快速查找包含特定关键词的文档。 5. 查询解析器(QueryParser):将用户的查询字符串转换为Lucene可以理解的查询对象。 6. 查询(Query):表示一个搜索请求,如TermQuery、...

    hibernate-search-4.2.0.Beta2-dist.zip

    - **电子商务**:在商品信息中实现快速的关键词搜索和推荐系统。 - **内容管理系统**:帮助用户快速定位文章、新闻或文档。 - **社交网络**:在用户资料和帖子中执行高级搜索,实现个性化推荐。 5. **如何开始...

    nutch 详细分析(包括配置文件等)

    4. **搜索(Searching)**:提供搜索接口,让用户根据关键词查询索引库中的信息。 ### 抓取部分 #### 2.1 爬虫的数据结构及含义 爬虫使用URL队列来跟踪已知但未访问的URL,以及已访问但需再次抓取的URL。主要数据...

    anytxt 文本搜索软件win10

    3. **快速索引** anytxt的一大亮点是其快速的索引功能。首次使用时,软件会创建一个索引库,包含了所有需要搜索的文件的关键词信息。这样,即使是在数GB甚至TB级别的数据中,也能实现秒级搜索。 4. **高级搜索选项...

    最实用的搜索工具

    “Everything”是由David Carpenter开发的一款轻量级搜索应用,其核心功能在于快速索引和实时搜索计算机中的文件和文件夹。与Windows内置的搜索功能相比,“Everything”以其闪电般的搜索速度和极低的系统资源占用而...

Global site tag (gtag.js) - Google Analytics