レコード、バージョン、タイトル、有効期限のフィールドを持つデータがあります。レコードは一意ではないフィールドであり、各レコードは多数のバージョンを持つことができます。
検索結果では、各バージョンを 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 の外で結果を反復処理する必要がありますか? 読んでくれてありがとう!