問題タブ [mongodb-indexes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - MongoDB が Index Intersection を使用しないのはなぜですか?
インデックス交差命令の最初の例 ( http://docs.mongodb.org/manual/core/index-intersection/ )を再現しようとしていますが、問題に直面しています: mongo は両方のインデックスを使用しません
私の手順:
- mongo (3.0.3) をダウンロードしてインストールします
- mongod を実行します: mongod.exe --dbpath d:\data (フォルダーは空です)
- mongo を実行します: mongo.exe
インデックスを追加します。
/li>クエリの説明を確認してください:
/li>
ご覧のとおり、winningPlan には item_1 インデックスのみが含まれています。qty_1 インデックスを含む rejectPlans があります。ただし、指数交差を含む計画はありません。特定のインデックスを選択するには多くの条件があることを知っています。しかし、私の場合、モンゴはそれを計画していません!
誰でも私を助けることができますか?
mongodb - Mongodb は失われたドキュメントを回復します
コレクションに一意のインデックスを作成しようとしていました。走った
キーがドキュメントに存在しなかったためmeta.instanceId
、mongodb はコレクション内の 1 つを除くすべてのドキュメントを削除しました。
削除したドキュメントを復元するにはどうすればよいですか?
mongodb - モンゴDB。db.collection.explain().find() vs db.collection.find().explain()
この 2 つのコマンドの違いは何ですか?
mongodb - ネストされたキーを持つドキュメントのMongo Index?
次のようなオブジェクトがあります。
ドキュメントにソースからのデータがある場合、その名前のエントリが存在します。それ以外の場合は存在しません。たとえば、これには source_a からのデータのみが含まれます。
特定のソースからのデータを含むドキュメントの検索を高速化するには、どのインデックスが役立ちますか? より正確に言うと、そのソースがどのデータに貢献したかは気にせず、それが含まれていることだけを気にします (ソース オブジェクトにそのキーを持つエントリがあります)。
ソースごとにインデックスを作成する必要があります{"sources.source_z": 1}
か?
ソース内のすべてのデータをインデックス化するのではなく、その存在のみをインデックス化するために、最も効率的になりたい。
mongodb - mongoで2つの異なるインデックスにヒットする同じクエリ
2 つの異なるインデックス セットを使用して mongoDB を使用しています。私のクエリは
2 つの複合インデックスがあります。
- x+時間
- 時間+x+y+z
この場合、私は Explain("executionStats") を実行しましたが、結果は両方の時間で異なります。インデックス #1 にヒットしている場合もあれば、インデックス #2 にヒットしている場合もあります。なぜ 2 つの異なるインデックスにヒットしているのですか??
ありがとう。
mongodb - 集約フレームワークでテキスト検索を使用する場合の MongoDB インデックスの最適化
MongoDB の上に単純化されたバージョンの検索エンジンを構築しています。
サンプルデータセット
「offset-limit」を使用して結果をページ分割することは避けたいと考えています。これを行うには、基本的に「seek メソッド」を使用して、クエリの「where/match」句を変更してインデックスを使用できるようにします。コレクションを繰り返し処理して目的の結果を取得する代わりに。「シーク メソッド」の詳細については、 http: //use-the-index-luke.com/blog/2013-07/pagination-done-the-postgresql-wayを読むことを強くお勧めします。
通常、検索エンジンは結果をスコアで並べ替え、日付を更新して降順で並べます。これを実現するために、次のように集計パイプラインでテキスト検索機能を使用しています。
先頭ページ
2 ページ目
そして最後のページ
結果をスコア、updDate、および ID で並べ替える方法と、2 番目の一致フェーズで、ドキュメントのスコア値、更新日、および最後に ID を使用してそれらをページ分割しようとする方法に注目してください。
インデックスの作成では、テキスト インデックス プレフィックス フィールドでテキスト クエリをカバーできないことが考慮されています。問題https://jira.mongodb.org/browse/SERVER-13018を参照してください。
「executionStats」モードと「allPlansExecution」モードは集約フレームワークでは機能しないため、https: //jira.mongodb.org/browse/SERVER-19758 を参照してください。MongoDBがどのようにクエリを解決しようとしているのかわかりません。
インデックスの交差はテキスト検索では機能しないため、https: //jira.mongodb.org/browse/SERVER-3071 (2.5.5 で解決済み) およびhttp://blog.mongodb.org/post/87790974798/effectiveを参照してください。 -indexing-in-mongodb-26著者が言う場所
https://docs.mongodb.org/manual/MongoDB-indexes-guide-master.pdfのセクション 3.4(Text Search Tutorials) および 3.5(Indexing Strategies) を何度か読んだ後、明確な結論に達しませんでした。
では、テキスト検索の観点から、このコレクションをインデックス化するための最良のインデックス戦略は何でしょうか?
最初の一致フェーズの 1 つのインデックスと 2 番目の (ページネーション) 一致フェーズの別のインデックス?
両方の一致フェーズのフィールドを考慮した複合インデックス?
上記のどれでもない?
ありがとう