我目前正在像Azure Cognitive Search
那样进行前缀搜索:
docs?api-version=2019-05-06&search=Do*
假设我的索引包含Dog
,Big Dog
和Small Dog
。默认情况下,结果集似乎按字母顺序排序,如下所示:
Big Dog
Dog
Small Dog
如何更改查询字符串,以使最接近的完全匹配项首先出现,其余部分按字母顺序排序?这是我想要的输出:
Dog
Big Dog
Small Dog
因此,如果用户键入D
,Do
或Dog
,我想先显示Dog
以帮助他们进行短路输入。
结果根据分数排序。这是TFxIDF公式的结果。换句话说,将根据您的文档中哪个术语最相关来显示结果。
说,我相信您必须使用NGram才能获得最相关的术语。
更多信息:
https://azure.microsoft.com/en-us/blog/custom-analyzers-in-azure-search/
您可以分享您的确切文件外观吗?正如Thiago所提到的,Azure认知搜索返回的相关性得分显示了与输入查询相对应的整个文档的相对相关性。
如果您的文档只有1个与您共享的确切文本匹配的字段,则它应返回得分最高的“狗”,因为它与查询更相关。