【问题标题】:Unexpected search results from Azure Cognitive SearchAzure 认知搜索的意外搜索结果
【发布时间】:2020-09-01 01:45:53
【问题描述】:

我最近在 Azure 上开发了一个索引。我有以下索引结构:

{"name": "my_index",
    "fields":
    [
        {"name": "id", "type": "Edm.String", "filterable": true, "key": true, "searchable": true, "sortable": true, "facetable": false},
        {"name": "metadata_storage_path", "type": "Edm.String", "searchable": false, "filterable": false, "retrievable": true, "sortable": false, "facetable": false},
        {"name": "Name", "type": "Edm.String", "searchable": true, "retrievable": true, "filterable": true, "sortable": false, "facetable": true, "analyzer": "en.microsoft"},
        {"name": "Description", "type": "Edm.String", "searchable": true, "retrievable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "en.microsoft"},
        {"name": "Content", "type": "Edm.String", "searchable": true, "retrievable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "en.microsoft"}
}

当我尝试搜索整个短语时,例如“云平台”,我得到了一些顶级结果,而没有提及“云平台”,这有点奇怪。然后,当我查看 search.score 时,即使是排名靠前的结果的得分也非常低,例如 0.07。但是,我可以看到文档中出现的短语,并且我希望有足够的文档包含该短语。

有人知道为什么会这样吗?是不是因为我用错了分析仪?

我可以尝试的任何潜在测试也将不胜感激。

【问题讨论】:

  • 尝试使用 StandardAnalyzer 而不是 en.microsoft
  • 尝试更新“分析器”值,但出现错误:无法更改现有字段。但是,基于此链接:docs.microsoft.com/en-us/rest/api/searchservice/update-index,我应该可以更改分析仪,不是吗?再次感谢。
  • 不,您需要删除并重新创建它

标签: azure azure-cognitive-search


【解决方案1】:

您是使用 REST 还是 SDK 进行查询,在这两种情况下,示例请求将有助于更好地了解您的问题。 如果我使用 REST 执行此操作,它将是这样的

https://<yourserviceName>.search.windows.net/indexes/<yourIndexName>/docs?api-version=2020-06-30&search=*&%24filter=description%20eq%20'cloud platform'

请注意,为了确保完全匹配,我使用的是过滤器而不是搜索。

【讨论】:

    猜你喜欢
    • 2022-01-24
    • 2020-03-27
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 2021-10-14
    • 2021-09-21
    相关资源
    最近更新 更多