0

私たちのデータベースにはフォトアルバムと写真が保存されています。各アルバムには、タイトル、タグ、説明があります。各写真にはタイトル、タグ、説明があります。

私が欲しいのは、ユーザーが検索ボックスに単語を入力するとすぐに 5 つの検索結果を表示する機能だけです。

次に、1 ページあたり 50 件の検索結果を表示します。

  1. どのフィールドにインデックスを付ける必要がありますか? タイトルまたはタグ (埋め込み配列) またはその両方のみ?
  2. 最高の検索エクスペリエンスのために何を使用するか - ファイルの MongoDB インデックスまたは他のタイプのインデックス? データの増加に合わせてソリューションを拡張する必要があります。

続行する方法について誰かが私を助けることができれば、それは素晴らしいことです.

古いバージョンの MongoDB 1.8 をまだ使用しています

ありがとう

4

1 に答える 1

0

最後のコメントに従ってタイトルのみを検索可能にする必要がある場合は、単純に $regex 演算子を使用できます。

http://docs.mongodb.org/manual/reference/operator/regex/#op._S_regex

正規表現 (つまり /^something/) を固定すると、非常に高速なインデックスも使用されます。

ただし、巨大なデータベースでのこれのパフォーマンスは素晴らしいものにはなりません。

それ以外の場合は、WiredPrairie が示唆するように、キーワード検索を調べてください。

http://docs.mongodb.org/manual/tutorial/model-data-for-keyword-search/

于 2013-08-24T00:51:31.580 に答える