Currently I am working on a multiple websites project .
Each site has a own catalog and each catalog has differnet categories.
There are products that sharing between catalog as a noderelation (additional categories).
In episerver Find, I see all three sites share the same cateogry and articles find index.
Is it possible to index the categories and products for each site?
Is it possible to implement that the search result on each site only includes the categories/products that exists on its own catalog ?
The short answer is no. You can only work with a single find index for all your catalogs and sites in a multisite scenario.
What you should do instead is after indexes are created then do filtering on the search result based on what site you are on. There is a build in filter called FilterOnCurrentSite, that should give your search for content on current site.
When going for filtering on catalog items you should do similar. Filter(x => x.CatalogId.Match(catalogid)).
There is a nice posts which could be applied to this case right away.
Thank Ravindra S. Rathore for them.
I hope this help.