Azure搜索自定义分析器

时间:2015-12-17 13:09:03

标签: azure-search

我们正在尝试使用Azure Search Rest api版本的自定义分析器(KeywordAnalyzer):2015-02-28-preview。

您在下面看到的索引定义代码完全从Microsoft文档中复制。 如果我们将Analyzer类型设置为CustomAnalyzer,则此方法有效。但是,如果我们通过将分析器类型从CustomAnalyzer更改为任何其他分析器(如KeywordAnalyzer)进行单个更改,则在创建索引时会收到错误请求错误,并且未创建索引。

如果有人告诉我们如何指定分析器,我们将不胜感激。

非常感谢

 {
           "name":"homes",
           "fields":[
              {
                 "name":"Id",
                 "type":"Edm.String",
                 "key":true,
                 "searchable":false},
              {
                 "name":"IdStd",
                 "type":"Edm.String",
                 "searchable":true,
                 "analyzer":"my_analyzer"}
           ],
           "analyzers":[
              {
                 "name":"my_analyzer",
                 "@odata.type":"#Microsoft.Azure.Search.CustomAnalyzer",
                 "tokenizer":"my_standard_tokenizer",
                 "tokenFilters":[
                    "my_asciifolding",
                    "lowercase"
                 ]
              }
           ],
           "tokenizers":[
              {
                 "name":"my_standard_tokenizer",
                 "@odata.type":"#Microsoft.Azure.Search.StandardTokenizer",
                 "maxTokenLength":20}
           ],
           "tokenFilters":[
              {
                 "name":"my_asciifolding",
                 "@odata.type":"#Microsoft.Azure.Search.AsciiFoldingTokenFilter",
                 "preserveOriginal":true}
           ]
    }

1 个答案:

答案 0 :(得分:1)

我来自Azure搜索。您与BadRequest响应代码一起看到的错误消息是什么?

编辑: 我重读了你的问题。您可能正在为KeywordAnalyzer指定tokenizer和tokenFilter属性。这些属性仅适用于CustomAnalyzer。如果您发现文档不充分或令人困惑,请告诉我。我们一定会让它更清晰,更容易理解。