【发布时间】:2019-03-27 01:51:06
【问题描述】:
给定一个看起来像这样的模型:
{
[Key]
public string Id { get; set; }
[IsSearchable]
[Analyzer(AnalyzerName.AsString.Keyword)]
public string AccountId { get; set; }
}
AccountId 的示例数据如下所示:
1-ABC123
1-333444555
1-A4KK498
该字段可以是字母/数字的任意组合,中间有一个破折号。
我需要能够使用 1-ABC* 之类的查询来搜索此字段。但是,除了 Keyword 之外,似乎没有一个基本分析器支持破折号,它不选择任何通配符查询,只是完全匹配。我看过其他一些关于自定义分析器的文章,但我无法获得关于如何构建它来解决这个问题的足够信息。
我需要知道是否必须为该字段构建客户分析器,是否需要不同的搜索分析器和索引分析器?
我将 StandardLucene 用于其他没有破折号的字母数字字段,我还有另一个带有破折号的字段,但它都是数字,并且关键字在那里工作得很好。问题似乎在于字母和数字的混合。
【问题讨论】:
标签: azure-cognitive-search azure-search-.net-sdk