搜索算法

搜索匹配是一个将文本图案匹配的接口。火柴 结果以返回值表示搜索匹配结果.比赛结果 包含比赛排名和比赛总得分的信息。spring-doc.cadn.net.cn

实现

模糊匹配V2搜索spring-doc.cadn.net.cn

fzf FuzzyMatchV2Search 算法的移植。它能快速模糊搜索,效果不错 迅速找到路径。spring-doc.cadn.net.cn

完全匹配天真spring-doc.cadn.net.cn

fzf ExactMatchNaive 算法的移植版。简单精确匹配更准确 如果你知道该搜索什么。spring-doc.cadn.net.cn

搜索匹配

算法和默认语法隐藏在包保护类中 因为我们不想在确认 API 准备好之前完全开放这些 为了更长时间的支持。你需要建造搜索匹配通过其 内置建造者。spring-doc.cadn.net.cn

SearchMatch searchMatch = SearchMatch.builder()
	.caseSensitive(false)
	.normalize(false)
	.forward(true)
	.build();

可以配置大小写敏感性,比如搜索方向 或者文本是否应在搜索前进行规范化。正常化 当不同语言对同一类型存在轻微差异时,这很方便 角色。spring-doc.cadn.net.cn

搜索算法的选择基于以下搜索语法 下表。spring-doc.cadn.net.cn

表1。搜索语法
Tokens 比赛类型 描述

地狱spring-doc.cadn.net.cn

模糊匹配spring-doc.cadn.net.cn

匹配的物品你好spring-doc.cadn.net.cn

'东西spring-doc.cadn.net.cn

完全匹配spring-doc.cadn.net.cn

包括的项目东西spring-doc.cadn.net.cn

例子

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