我想在PHP中使用MongoDB进行全文搜索。结果应按分数排序,以确保相关性更高的结果排在顶部。
只要搜索词与Mongo数据库中存储的词足够接近,它就可以正常工作。
例如:在数据库中有一个单词“ Foobar”。搜索“ Foob”时,它将返回条目。但是,当搜索“ Foo”时却没有。似乎必须达到某种最低分数才能获得结果。有这样的事情还是这种行为的原因可能是什么?
这是我正在使用的代码:
$collection->find(
array( '$text' => ['$search' => $search]),
array( 'limit' => $limit,
'skip' => $start,
'projection' => ['score' => ['$meta' => 'textScore']],
'sort' => ['score' => ['$meta' => 'textScore']]
)
);