これは私たちが話しているテキスト検索クエリであるため、最適な形式は次のとおりです。
db.collection.aggregate([
{
"$match": {
"$text": { "$search": "cake tea" }
}
},
{ "$sort": { "score": { "$meta": "textScore" } } },
{ "$limit": skip + limit },
{ "$skip": skip }
])
上位の「ソート」結果からのメモリリザーブの理論的根拠は、それ自体の「制限」内でのみ機能し、これは、データのいくつかの妥当な「ページ」を超えるものには最適ではありません。
メモリ消費に合理的な範囲を超えて、追加のステージは、プラスではなくマイナスの効果をもたらす可能性があります。
これらは実際には、現在のフォームでMongoDBが利用できるテキスト検索機能の実際的な制限です。ただし、より詳細でパフォーマンスが必要な場合は、多くのSQL「フルテキスト」ソリューションの場合と同様に、外部の「専用」テキスト検索ソリューションを使用することをお勧めします。