有没有办法提高 Atlas 搜索中精确匹配的分数?
我在获取“hi”从英语到法语的正确/最佳翻译时遇到问题。经过一番调试后,我发现从聚合返回的前三(3)个文档的得分相同,均为“2.362138271331787”。
我期望“hi”具有更高的分数,因为它与相同的搜索查询完全匹配,但“it's his”和“his”似乎与“hi”具有相同的分数。
这是我的搜索查询:
const searchOption= [
{
$search: {
text: {
query: 'hi',
path: 'english',
},
},
},
{ $project: { _id: 0, french: 1, english: 1, score: { $meta: "searchScore" } } },
{ $limit: 5 },
];
const result = await Greetings.aggregate(searchOption, { cursor: { batchSize: 5 } }).toArray();
这是返回的文件。该列表按搜索分数排序:
[
{
"english": "it’s his",
"french": "c'est le sien",
"score": 2.362138271331787
},
{
"english": "hi",
"french": "salut",
"score": 2.362138271331787
},
{
"english": "his",
"french": "le sien",
"score": 2.362138271331787
},
{
"english": "it’s his failure to arrange his",
"french": "c'est son incapacité à organiser son",
"score": 2.2482824325561523
},
{
"english": "it’s his failure to arrange his time",
"french": "c'est son incapacité à organiser son temps",
"score": 2.0995540618896484
}
]