1

レコード、バージョン、タイトル、有効期限のフィールドを持つデータがあります。レコードは一意ではないフィールドであり、各レコードは多数のバージョンを持つことができます。

検索結果では、各バージョンを 1 つだけ表示する必要があります。

そのため、特定の日付以前の記事をタイトルで検索することはできますが、バージョンごとに 1 つの結果しか返されません。

たとえば、次のデータがあるとします。

{"record": 1, "version": 1, "title": "Hello", "expires": "2011-08-17 00:00:00"},
{"record": 1, "version": 2, "title": "Hello", "expires": "2012-08-17 00:00:00"},
{"record": 2, "version": 1, "title": "Hello world", "expires": "2010-08-17 00:00:00"},
{"record": 2, "version": 2, "title": "Hello world", "expires": "2011-08-17 00:00:00"},
{"record": 2, "version": 3, "title": "Hello world", "expires": "2012-08-17 00:00:00"},

2012 年 8 月 18 日以前に有効期限が切れた、タイトルに「Hello」を含むドキュメントを検索すると、次のように返されます。

{"record": 1, "version": 2, "title": "Hello", "expires": "2012-08-17 00:00:00"},
{"record": 2, "version": 3, "title": "Hello world", "expires": "2012-08-17 00:00:00"}

(各レコードの最新の「バージョン」)。

何か案は?

ES の外で結果を反復処理する必要がありますか? 読んでくれてありがとう!

4

1 に答える 1