c# - Umbraco 检查 - 使用模糊和通配符搜索
问题描述
我正在尝试构建一个搜索引擎,我想利用 和 的Fuzzy()
优点MultipleCharacterWildCard()
。
问题是我无法将它们组合在一起......而且我不明白为什么。
我的代码:
var searchArr = ["word", "another", "blabla"];
for (int i = 0; i < searchArr.Length; i++) {
searchCriteria
.And()
.GroupedOr(searchFields, searchArr[i].EscapeRegexSpecialCharacters().MultipleCharacterWildcard())
.Or()
.GroupedOr(searchFields, searchArr[i].EscapeRegexSpecialCharacters().Fuzzy());
}
在这种情况下,它只执行通配符搜索。如果我在它们之间切换,它只会执行模糊。
将这两者结合起来的任何解决方案?
谢谢。
解决方案
哪个版本的umbraco?也许https://our.umbraco.com/packages/website-utilities/ezsearch可能会有所帮助。
var filter = searchCriteria
.And()
.GroupedOr(searchFields, searchArr[i].EscapeRegexSpecialCharacters().MultipleCharacterWildcard());
var filter1 = searchCriteria
.And()
.GroupedOr(searchFields, searchArr[i].EscapeRegexSpecialCharacters().Fuzzy());
var allProducts = filter.Concat(filter1).ToList();
如果你被卡住了,那会把它们结合起来:P
推荐阅读
- python - Python deepcopy 使用的内存比需要的多
- java - 对象如何从类到另一个活动并从另一个活动中读取
- python - 使用 Python 识别 ETF 持有量
- qt - 有没有办法将 C++ 类用作 QML 组件,设计器可以拖动和使用?
- ios - 向数字键盘 swiftUI 添加关闭按钮
- excel - 使用 Word 文件中的参数将数据从 Excel 动态检索到 Word
- sql - 对于每个 Id2 值,获取 Id1 最低的一行,以及 Id1 最高的另一行
- c++ - 理解 Scott Meyers 的第三个 std::weak_ptr 例子
- macos - Apple Silicon 上的正确 ARCHFLAGS 值?
- vb.net - 字符串列表中重复字符串的索引