|
该版本仍在开发中,尚未被视为稳定。最新稳定版本请使用Spring Shell 3.4.1! |
搜索算法
搜索匹配是一个将文本与图案匹配的接口。火柴
结果以返回值表示搜索匹配结果.比赛结果
包含比赛排名和比赛总得分的信息。
FZF。
实现
模糊匹配V2搜索
fzf FuzzyMatchV2Search 算法的移植。它能快速模糊搜索,效果不错 迅速找到路径。
完全匹配天真
fzf ExactMatchNaive 算法的移植版。简单精确匹配更准确 如果你知道该搜索什么。
搜索匹配
算法和默认语法隐藏在包保护类中
因为我们不想在确认 API 准备好之前完全开放这些
为了更长时间的支持。你需要建造搜索匹配通过其
内置建造者。
SearchMatch searchMatch = SearchMatch.builder()
.caseSensitive(false)
.normalize(false)
.forward(true)
.build();
可以配置大小写敏感性,比如搜索方向 或者文本是否应在搜索前进行规范化。正常化 当不同语言对同一类型存在轻微差异时,这很方便 角色。
搜索算法的选择基于以下搜索语法 下表。
| Tokens | 比赛类型 | 描述 |
|---|---|---|
|
模糊匹配 |
匹配的物品 |
|
完全匹配 |
包括的项目 |
例子
SearchMatch searchMatch = SearchMatch.builder()
.caseSensitive(false)
.normalize(false)
.forward(true)
.build();
SearchMatchResult result = searchMatch.match("foo bar baz", "fbb");
result.getStart();
// 0 - start position inclusive
result.getEnd();
// 9 - end position exclusive
result.getPositions();
// 0,4,8 - positions, inclusive
result.getScore();
// 112 - score
result.getAlgorithm();
// FuzzyMatchV2SearchMatchAlgorithm - resolved algo