mongo コレクションには、単語 (数百万語) のリストがあります。
{word:'a'}
{word:'b'}
{word:'x'}
{word:'y'}
{word:'z'}
単語の字句隣接語 (次と前) を取得する必要があります。最も効率的な方法を探しています。
mongo コレクションには、単語 (数百万語) のリストがあります。
{word:'a'}
{word:'b'}
{word:'x'}
{word:'y'}
{word:'z'}
単語の字句隣接語 (次と前) を取得する必要があります。最も効率的な方法を探しています。
単純に 2 つのクエリを実行してみませんか?
最初のものは、'word > "YOURWORD"' を含むドキュメントを探し、'word' (昇順) で制限 1 で並べ替えます。次に、2 つ目は、'word < "YOUTWORD"' を持ち、'word' で並べ替えます。 (desc)、再び制限 1 を指定します。
フィールドにインデックスがあると思うので、非常にパフォーマンスが高いはずです。
コード例を次に示します。
var prev = db.words.find({"word": {$gt: "YOURWORD"}}).sort({"word": 1}).limit(1);
var next = db.words.find({"word": {$lt: "YOURWORD"}}).sort({"word": -1}).limit(1);