Vzhledem k tomu, že se jedná o textový vyhledávací dotaz, o kterém mluvíme, nejoptimálnější forma je tato:
db.collection.aggregate([
{
"$match": {
"$text": { "$search": "cake tea" }
}
},
{ "$sort": { "score": { "$meta": "textScore" } } },
{ "$limit": skip + limit },
{ "$skip": skip }
])
Zdůvodnění paměťové rezervy z výsledků nejvyššího „třídění“ bude fungovat pouze v rámci svých vlastních „limitů“, jak tomu bylo dříve, a to nebude optimální pro nic kromě několika rozumných „stránek“ dat.
Kromě toho, co je rozumné pro spotřebu paměti, bude mít další fáze pravděpodobně spíše negativní účinek než pozitivní.
Toto jsou skutečně praktická omezení možností textového vyhledávání dostupných pro MongoDB v aktuální podobě. Ale pro cokoli podrobnějšího a vyžadujícího vyšší výkon, pak stejně jako v případě mnoha „plnotextových“ řešení SQL je lepší použít externí „účelové“ řešení textového vyhledávání.