在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 超快速且强大的自动完成库源码下载

超快速且强大的自动完成库源码下载

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.06M
  • 下载次数:0
  • 浏览次数:9
  • 发布时间:2024-04-09
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
这是一个令人难以置信的自动完成库,能够在微秒或纳秒内返回搜索结果,拥有最快的自动完成算法,并且搜索复杂度为O(n),支持所有流类型,包括传统的磁盘存储,以降低托管成本。此库支持.Net Standard 2.1+ 和 .Net Framework 4.6.1,允许免费商业使用。

该库自2016年发布,自2015年以来一直在使用,已经在土耳其最佳字典网站tureng上得到应用,处理了数十亿次请求,平均响应时间仅为0.05毫秒(基于磁盘)。此外,该库还提供了内存存储功能,使得平均搜索速度提升了1000倍。我们通过数百万条记录提供自动完成功能,处理了数十亿次请求。

与许多云服务相比,我们的库在设计时考虑了线性读取优化,使得搜索速度极大依赖于您的磁盘速度。在许多云基础设施中,由于提供了较大的读取缓冲区(如30MB),这对于线性读取非常有利。

索引构建示例:
var builder = new IndexBuilder(headerStream, indexStream);
builder.Add("keyword");
//builder.AddRange([IEnumerable<string>]);
//builder.WithDataSource(source);
builder.Build();
搜索示例:
IIndexSearcher searcher = new InMemoryIndexSearcher(headerPath, indexPath);
searcher.Init();
SearchResult searchResult = searcher.Search(term, 5, false);

【实例截图】
【核心代码】
文件清单
└── autocomplete-aaf2240edbebdecd7a046214d615ccae5da8baac
    ├── AutoComplete
    │   ├── AutoComplete.csproj
    │   ├── Builders
    │   │   ├── IIndexBuilder.cs
    │   │   ├── IndexBuilder.cs
    │   │   └── TrieIndexHeaderBuilder.cs
    │   ├── Clients
    │   │   └── IndexSearchers
    │   │       ├── FileSystemIndexSearcher.cs
    │   │       ├── InMemoryIndexSearcher.cs
    │   │       └── TrieNodeHelperFileSystemExtensions.cs
    │   ├── DataStructure
    │   │   ├── TrieCharacterComparer.cs
    │   │   ├── Trie.cs
    │   │   ├── TrieIndexHeader.cs
    │   │   ├── TrieNode.cs
    │   │   ├── TrieNodeSearchResult.cs
    │   │   ├── TrieNodeSearchResultType.cs
    │   │   ├── TrieNodeStructSearchResult.cs
    │   │   └── TrieStringComparer.cs
    │   ├── Domain
    │   │   ├── ManagedInMemoryStream.cs
    │   │   ├── SearchOptions.cs
    │   │   └── SearchResult.cs
    │   ├── Helpers
    │   │   └── BitArrayHelper.cs
    │   ├── Readers
    │   │   ├── TrieBinaryReader.cs
    │   │   └── TrieIndexHeaderCharacterReader.cs
    │   ├── Searchers
    │   │   ├── IIndexSearcher.cs
    │   │   ├── IndexData.cs
    │   │   └── IndexSearcher.cs
    │   └── Serializers
    │       ├── TrieIndexHeaderSerializer.cs
    │       └── TrieIndexSerializer.cs
    ├── AutoComplete.sln
    ├── AutoComplete.Tests
    │   ├── AutoComplete.Tests.csproj
    │   ├── BitArrayHelperTests.cs
    │   ├── IndexBuilderTests.cs
    │   ├── IndexSearcherTests.cs
    │   ├── ManagedInMemoryStreamTests.cs
    │   ├── TrieCharacterComparerTests.cs
    │   ├── TrieIndexHeaderTests.cs
    │   ├── TrieNodeStructSearchResultTests.cs
    │   └── TrieTests.cs
    ├── AutoComplete.v12.suo
    ├── LICENSE
    ├── Local.testsettings
    ├── README.md
    └── Samples.ConsoleApp
        ├── Benchmark.cs
        ├── Program.cs
        ├── Sample.cs
        ├── Samples.ConsoleApp.csproj
        └── Words350k.txt

13 directories, 45 files

标签:

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警