【问题标题】:Azure Search Custom AnalyzerAzure 搜索自定义分析器
【发布时间】:2015-12-18 00:57:00
【问题描述】:

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

您在下面看到的索引定义代码完全复制自 Microsoft 文档。 如果我们将分析器类型设置为 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}
           ]
    }

【问题讨论】:

    标签: azure-cognitive-search


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回复。文档没有反映这一点。例如,如果我们想要一个关键字分析器并想对其应用小写的 tokenFilter,这不可能吗?此外,我们确实把所有东西都拿出来了,只留下了分析器(关键字)。这次我们没有收到任何错误,但搜索不成功。无论如何要查看索引术语吗?您是否有任何示例显示自定义分析器的用法。非常感谢
    • 我们将在一月份发布更多内容。关键字分析器是无法自定义的预定义分析器。但是,您可以使用关键字标记器和小写标记过滤器创建自定义分析器。这是一个示例:{“name”:“my_analyzer”,“@odata.type”:“#Microsoft.Azure.Search.CustomAnalyzer”,“tokenizer”:“keyword”,“tokenFilters”:[“lowercase”]}您能描述一下您发出的查询以及您期望的结果吗?
    • 非常感谢。很好!现在这对我们有用。我最初的代码 { "name":"my_analyzer","@odata.type":"#Microsoft.Azure.Search.KeywordAnalyzer" } 没有任何其他属性 - 它创建了索引但没有产生搜索结果。有什么理由吗?
    • 我需要您提供更多详细信息:哪些查询没有返回任何结果,您希望返回哪些文档,您如何定义您所针对的字段搜索?
    猜你喜欢
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 2020-12-26
    • 2020-03-08
    • 1970-01-01
    • 2017-06-19
    相关资源
    最近更新 更多