私の理解では、MongoDBでは、通常の(テキストではない)インデックスは、に渡されたパラメーターに基づいて事前に並べ替えられていますcreateIndex()
。たとえば、db.collection.createIndex({ name: 1 })
ドキュメントを名前で昇順で並べ替えたインデックスを作成します。
テキストインデックスでこれを行うことは可能ですか?テキストインデックス付きの大規模なMongoDBコレクション(数百万のドキュメント)があります。コレクションでテキスト検索を実行するときに、結果をcreated
日付で並べ替えたいのですが、並べ替え操作で常にメモリが不足します。created
日付で事前にソートされるようにテキストインデックスを設定できますか(つまり、結果が取得された後にソート操作を実行する必要はありません)?
テキストインデックスのドキュメントによると、それは不可能です:
並べ替え操作では、複合テキストインデックスからでも、テキストインデックスから並べ替え順序を取得できません。つまり、並べ替え操作では、テキストインデックスの順序を使用できません。
残念ながら、テキストインデックスの並べ替えはMongoDBの実際の問題のようです。トラッカーに関連する問題が複数ありますSERVER-36087、SERVER-24375、SERVER-36794
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加