: As Ahmet indicated, you must have a way to detect that deletions have : happened. Marking rows as deleted with an active/inactive field is one : way. Another way (the way that we use) is to have a delete trigger on : the table that creates an entry in a delete tracking table.
If you have no control over the source datasource, and no way of knowing if/when a document was deleted, your really only have 2 other options: a) use some external system to track the "diff" of document uniqueKeys and send deletes to solr based on that. b) do a full rebuild everytime for a lot of datasets, #b can acctually be quite fast and a lot less headache then worrying about deletes -- if you keep a timestamp on every doc, you can even do a "rolling rebuild" where you re-index all the live docs, and then just remove any doc with a timestamp older then the start of your re-index to prune the deletes. -Hoss http://www.lucidworks.com/