此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.3! |
搜索算法
SearchMatch
是将文本与模式匹配的界面。火柴
results 位于 return value 中。比赛结果
包含有关对战位置和对战总分的信息。SearchMatchResult
FZF 的。
实现
FuzzyMatchV2搜索
fzf FuzzyMatchV2Search 算法的端口。进行快速模糊搜索,效果很好 快速找到路径。
ExactMatchNaive (精确匹配幼稚)
fzf ExactMatchNaive 算法的端口。简单精确匹配效果更准确 如果您知道要搜索什么。
搜索匹配
算法和默认语法隐藏在包保护的类中
因为我们不想完全打开这些,直到我们知道 API 可以正常使用
以获得更长的支持。您需要通过其
内置构建器。SearchMatch
SearchMatch searchMatch = SearchMatch.builder()
.caseSensitive(false)
.normalize(false)
.forward(true)
.build();
可以配置区分大小写,搜索方向 发生,或者是否应该在搜索发生之前对文本进行规范化。正常化 当不同的语言对同一类型有轻微的变体时,很方便 字符。
根据 中显示的搜索语法选择搜索算法 下表。
令 牌 | 比赛类型 | 描述 |
---|---|---|
|
模糊匹配 |
匹配的项 |
|
精确匹配 |
包含 |
例子
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