我最近在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。但是,我可以看到这些短语出现在文档中,并且我希望有足够的文档包含该短语。
有人知道为什么会这样吗?是因为我使用了错误的分析仪吗?
我可以尝试的任何潜在测试也将不胜感激。
答案 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'
请注意,为了确保完全匹配,我正在使用过滤器而不是搜索。