【发布时间】:2020-03-08 09:16:30
【问题描述】:
提前感谢您的帮助。
我正在使用 Azure Search .Net SDK 来构建索引器。我目前也在使用自定义分析器
在使用自定义分析器之前,我使用的是 EnLucene 分析器,它允许我使用通配符搜索 *. 比如我是用来让用户搜索后缀搜索的。如果用户搜索“app”,它会返回“apple, application, approach”等结果。请不要建议自动完成或建议,因为建议器不能与自定义分析器一起使用。我不想创建 仅因为建议者而增加了 20 个搜索字段。 (一个用于建议者,一个用于搜索)。
以下是我的自定义分析器示例。它不允许我使用 * 进行部分匹配。我不是在寻找任何前缀或后缀部分匹配的 NGram 解决方案。我实际上想使用通配符 *.我该怎么做才能允许通配符搜索?
var definition = new Index()
{
Name = indexName,
Fields = mapFields,
Analyzers = new[]
{
new CustomAnalyzer
{
Name = "custom_analyzer",
Tokenizer = TokenizerName.Whitespace,
TokenFilters = new[]
{
TokenFilterName.AsciiFolding,
TokenFilterName.Lowercase,
TokenFilterName.Phonetic
}
}
}
};
【问题讨论】:
标签: c# azure azure-cognitive-search analyzer azure-search-.net-sdk