azure-cognitive-search - Azure 搜索不同分数以获得完全匹配
问题描述
我有表:用户,字段说名字,姓氏
如果我搜索 Amit 并仅使用 searchField 作为名字,我会得到不同的分数。
$count=true&search=Amit^2&searchFields=firstName&$select=firstName&queryType=full
"value": [
{
"@search.score": 7.986226,
"firstName": "Amit"
},
{
"@search.score": 7.986226,
"firstName": "Amit"
},
...
...
...
{
"@search.score": 7.986226,
"firstName": "Amit"
},
{
"@search.score": 7.9655724,
"firstName": "Amit"
},
以上是小结果集,但我可以看到 15-20 结果后分数发生变化。
如果名字相同,我期待相同的分数,因为复杂的查询可以按分数排序,姓氏。
解决方案
文档的搜索分数是文档与查询的匹配程度以及与“附近”文档的相关程度的组合。根据将文档精确划分为分片,精确匹配可能会获得不同的分数,但它们的得分总是高于非精确匹配。
推荐阅读
- sql - 如何防止sql交叉连接中的重复行
- python - Python panda从另一个df中搜索df中的值
- javascript - 如何在多边形要素上叠加点要素
- docker - 直接运行时在 docker 容器中编译 cpp 文件失败,但如果使用交互式容器则可以
- c# - 我可以使用反射调用结构属性的“设置”方法吗?
- node.js - 当给定一个空白 index.js 文件时,为什么 ElectronJS 不会简单地退出?
- javascript - 当 img src 没有值时,更新 html 中的默认 img src
- python - pyspark:使用 window() 函数并比较字符串
- scala - 这是使用什么 scala 语言功能?它似乎从 JsObject 中提取值并转换它?
- mysql - 如何在 mysql 图表视图中创建检查约束?