来自Azure认知搜索的意外搜索结果

时间:2020-05-15 09:13:34

标签: azure azure-cognitive-search

我最近在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"}
}

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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