I have a little experience with this, we had a similar issue.
Q1. If I want to get a new solution version using only recent records, Do I have to create a new DatasetGroup?: In our experience, yes. You would need to reimport a dataset only with the new data.
Q2. If new items are created every time and old items are unnecessary(e.g. news article recommendations), what is a proper personalize architecture?: The proper way to do this is as you described, by re-importing the dateset with only the relevant data.
We found that there was no way to remove old records without importing a completely new dataset. The only way to remove old items "quickly" was to use a filter expression to filter them out of recommendations (they were still, however, in the model). Essentially, you can create a status field for each of your items/users, and update it with a putItems or putUsers call and set the status to deleted or inactive, then use a filter expression to filter these out (e.g. filter out items with STATUS = INACTIVE).
This does not actually remove the item from your dataset, rather, just filters them out. This was a major issue for us with personalize because the model was still trying to recommend these now irrelevant items to users, but was just being filtered out of the recommendations.
This is how i understand it, I could be wrong, however. It would be great if there was new functionality added to actually remove items from a model, i hope it comes soon.
Thank you for the reply. It's very helpful for me.
I'm using filter expression now. i hope the new functionality comes soon.
Thanks again :)
Is there a way to add 3rd party MX/SPF records while using AWS's custom DNS?asked 9 months ago
Get all A Records from route 53 using CLI and export to CSVasked a month ago
How to get a new solution version using only recent records?Accepted Answerasked a year ago
Upsert Salesforce Records using Reference Fieldasked a month ago
How to put records into a kinesis stream in another AWS account?asked 4 years ago
Full DKIM Records Neededasked 3 months ago
How To Get Bad Records Using AWS Pydeequ - Data Quality Checksasked 3 months ago
Need AWS Glue to store bad records/ records with error when reading Mongo db data to a S3 path and process the rest of the data.asked 5 months ago
Do You Have to Add New MX or TXT Records to a Domain using SES?asked 3 years ago
Firehose only delivers 99% of records to s3asked 2 years ago