ドキュメントがエラスティック検索でインデックス化されるシナリオがあり、一致したドキュメントを mongo で、タイムスタンプでソートされた前後のドキュメントとともに取得する必要があります。アイデアは、元のドキュメントとともにドキュメントのコンテキストを取得することです。
シーケンシャル _id を使用すると、これを正常に実行できるようになりました。例として、次のデータを使用します。
[
{_id: 1, value: 'Example One' },
{_id: 2, value: 'Example Two' },
{_id: 3, value: 'Example Three' },
{_id: 4, value: 'Example Four' },
{_id: 5, value: 'Example Five' },
{_id: 6, value: 'Example Six' },
...
]
ES で「Four」を検索すると、4 のドキュメント _id が返されます。これはシーケンシャルであるため、mongo クエリを作成して、id - 2 と id + 2 (この場合は 2 - 6) の間の範囲を取得できます。これは機能します。まあ、ドキュメントを削除しない限り。ドキュメントを削除すると、ギャップをなくすためにシリーズ全体のインデックスを再作成する必要があります。同じ結果を達成する方法を探していますが、すべてのドキュメントを更新することなくドキュメントを削除することもできます。
私はこれを達成するために他のテクノロジーを使用することにオープンです。必ずしもmongodbに縛られているわけではありません。