Presuming you have different Tridion Publications for each of the websites, it is possible to have a separate index for each of the websites. SI4T supports this out of the box. The way to set this up is to configure an index per website publication in
Type="persistence" Id="defaultdb" dialect="MSSQL"
<!-- ommitted other configuration -->
To be able to use multiple cores for a website publication,
simply add a solr web application core corresponding
for a Tridion Publication.
The example below shows that you can either post to different cores
on a single solr server, or to a completely different server if so required
Let's say for example there are 3 publications:
tcm:0-5-1 : example.com - English main website
tcm:0-8-1 : example.de - German website, indexed on a separate server
tcm:0-12-1: example.co.uk - UK only content
If content is published from a different publication, it will be
indexed in the English main website publication Solr core. This is no
problem, because all content is indexed based on the unique TCM Id and
a single Solr index can therefore also hold content for multiple publications.
<Url Value="http://localhost/solr/example-com" Id="5" />
<Url Value="http://solrindex.example.de/solr/example-de" Id="8" />
<Url Value="http://localhost/solr/example-couk" Id="12" />
Pubishing / Unpublishing
Both publishing and unpublishing work in the same way, regardless whether content is indexed in a single, or in multiple Solr indexes. The SI4T indexer always matches content to be indexed or removed at publish time against the configured Publication Ids set in
cd_storage_conf.xml. It does this by simply matching the publication Id part of the TCM Id of the Tridion item and then by looking up the correct index to insert, update or remove content.
Searching multiple indexes
If the requirement is to have separate indexes, but to search across different Solr cores, then I would recommend to take a look at Solr's Distributed Search capability, which also works out of the box.