次の状況について、あなたの専門知識が必要です。
私はそのようなコレクションを持っています:
"array" : {
"item" : 1,
"1" : [100, 130, 255],
}
"array" : {
"item" : 2,
"1" " [0, 70, 120],
}
"array" : {
"item" : 3,
"1" : [100, 90, 140],
}
このコレクションを次のようにクエリしています。
db.test.find(array.1 : {$in : [100, 80, 140]});
これは、提供された配列内の値をコレクション内の値と一致させるため、項目番号 1 と 3 を返します。ただし、この配列を並べ替えて、より類似した数値の結果を取得したいと考えています。結果は、それぞれ項目 3 と 1 になります。
ただし、結果を取得し、k 最近傍アルゴリズムを使用して配列を並べ替えることができます。ただし、巨大なデータセットを扱うと、これは非常に望ましくありません (またはそうですか?) これを提供する機能は MongoDB 内にありますか? 私はJavaを使用していますが、これを十分に速く達成するためのアルゴリズムはありますか? どんな助けでも大歓迎です。
ありがとう。