我看到了这里的说明: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”使用我定义的分析器?
答案 0 :(得分:1)
是的,您可以通过SDK添加自定义分析器,以下是一些示例: https://github.com/Azure/azure-sdk-for-net/blob/AutoRest/src/Search/Search.Tests/Tests/CustomAnalyzerTests.cs