【问题标题】:How to define CustomAnalyzer through C# code when creating Azure Search Index创建 Azure 搜索索引时如何通过 C# 代码定义 CustomAnalyzer
【发布时间】:2018-05-16 10:00:10
【问题描述】:

我从这里看到了注释:https://docs.microsoft.com/en-us/rest/api/searchservice/custom-analyzers-in-azure-search 那:您创建的自定义分析器不会在 Azure 门户中公开。添加自定义分析器的唯一方法是通过在定义索引时调用 API 的代码。

目前我正在使用以下 C# 代码来创建 Azure 搜索索引:

var definition = new Microsoft.Azure.Search.Models.Index()
{
    Name = "test-index",
    Fields = new List<Field>
    {
        new Field("field1", Microsoft.Azure.Search.Models.DataType.String) { IsKey = false, IsSearchable = false, IsFilterable = false, IsSortable = false, IsFacetable = false, IsRetrievable = true }
    }
}
searchClient.Indexes.CreateOrUpdate(myIndex);

有没有办法可以在这里添加一些代码,例如:

var analyzer = new CustomAnalyzer();
analyzer.Tokenizer = TokenizerName.Keyword;
analyzer.TokenFilters.Add(TokenFilterName.Lowercase);

然后在我上面的代码中添加这个自定义分析器,让“field1”使用我定义的分析器?

【问题讨论】:

    标签: azure-cognitive-search azure-search-.net-sdk


    【解决方案1】:

    是的,您可以通过 SDK 添加自定义分析器,以下是一些示例: https://github.com/Azure/azure-sdk-for-net/blob/master/sdk/search/Microsoft.Azure.Search/tests/Tests/CustomAnalyzerTests.cs

    【讨论】:

    • 非常感谢 Yahnoosh!我上周尝试了这个解决方案,但没有成功。您提供的示例完美地解决了我的问题。
    • 注意:链接已失效!
    猜你喜欢
    • 2019-07-08
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    相关资源
    最近更新 更多