my 2 cents...
e.g
instead of PUT /api/datasource/<UUID> overriding the entire datasource each time..
allow an api user to insert lines of text or rich objects.
POST /api/datasource/<UUID>/suggestion
{
...
}
or support bulk insertion.POST /api/datasource/<UUID>/suggestion
[
{ ...
},...
]
This works better for scaling when you can't just replace all suggestions in one request (like an ETL like operation for a very large dataset). Then you can also allow for updating single "suggestion" entities without replacing the whole dataset.I also think you should support rich objects, allow for things like boosting rules, different templates for object types, spelling correction, synonyms. I think this type of service would be really useful.