Hasty Briefsbeta

双语

Show HN: Front End Fuzzy and Substring and Prefix Search

4 months ago
  • #frontend-library
  • #fuzzy-search
  • #search-algorithm
  • @m31coding/fuzzy-search 是一个前端库,用于通过名称和特征快速准确地进行模糊搜索实体。
  • 主要特性包括:速度快(查询时间<10毫秒)、准确性高(后缀数组和n-gram技术)、多语言支持、灵活性强(增删改查操作)、可靠性高(无依赖项)以及通用兼容性(支持前端和Node.js环境)。
  • 通过npm安装:`npm install @m31coding/fuzzy-search`,提供多种模块格式(ESM、CommonJS、UMD等)。
  • 基础用法包括使用`SearcherFactory`创建搜索器,索引实体,并通过`getMatches`进行查询。
  • 支持动态更新(`upsertEntities`和`removeEntities`),并能高效处理大规模数据集。
  • 可自定义的标准化处理流程,适用于不同语言和文字系统,默认设置针对拉丁文字优化。
  • 高级搜索技术包括:带字符排序的n-gram处理(解决输入顺序错误问题)和对不精确匹配的质量惩罚机制。
  • 子串和前缀搜索采用后缀数组结构,并通过质量偏移量优化匹配优先级。
  • 配置选项支持针对特定需求调优,例如处理非拉丁文字或大型数据集。
  • 开源免费,欢迎通过GitHub提交问题反馈或贡献代码。