SuperAPI AI 工具集

tanstack-match-sorter-utils-fuzzy-ranking

数据与分析

查看项目

更新于 10-16 00:02

技能介绍

用途:在 TanStack 生态中实现模糊匹配的排名、过滤与排序,核心来自 @tanstack/match-sorter-utils。

主要能力:rankItem 对单个值按查询词打分并返回 RankingInfo;用 info.passed 判断是否通过阈值;compareItems 比较两份已保存的 RankingInfo 以排序。可通过 accessors 从对象字段取值,并为每个访问器设置阈值及 minRanking/maxRanking 边界。

基本用法:import { compareItems, rankItem, rankings } from '@tanstack/match-sorter-utils'。对值调用 rankItem(value, query, { threshold: rankings.MATCHES }),先 filter 出 info.passed 的项,再用 compareItems(a.info, b.info) 排序。

与 Table 集成:在 filterFn 中调用 addMeta?.({ itemRank }),用 filterMeta: metaHelper<{ itemRank: RankingInfo }>() 注册元数据;sortFn 读取 row.columnFiltersMeta[columnId]?.itemRank 并交给 compareItems,无元数据时回退普通比较器。全局过滤需加载 @tanstack/table-core#global-filtering 并注册 fuzzy。

常见错误:不要用 rank 数值当通过标志,应判断 passed;不要在排序比较器中重复调用 rankItem,应复用过滤阶段保存的 RankingInfo;compareItems 已对更高 rank 返回 -1,无需再次取反。

限制:具体阈值常量、访问器属性与比较器行为需查看已安装版本的 dist/index.d.ts;其余细节资料暂未提供。