Not sure if this is a bug or expected behaviour.
I'm using Find with EPiServer 6 and when a page is changed, only that specific language version is re-indexed, not all language versions of that page.
If a property doesn't have unique values per language (not culture specific/globalised), and we change that value on the master language and re-publish which triggers a re-index, we end up with different values for this property on different language versions.
A full re-index solves the problem though.
... and is there a workaround for this?
After some further testing, this should be a bug.
Un-published pages can show up in search results, because publishing dates are only set on master language.
Thank you for reporting this Johan. I have entered it as a bug and will look at creating a fix for it.
Is there a workaround? I guess we can listen to datafactory events and index all language versions too, but maybe there is a simpler way?
I'm not sure it's much easier but you could probably use related pages/dependencies.
For CMS 7 all language versions will be reindexed when one is changed. As for CMS 6 you can use the following snippet (based on related pages):
return DataFactory.Instance.GetLanguageBranches(page.PageLink).Select(x => x.TryAsTyped());
I've already solved it with the RelatedPages approach :) Just forgot to post it here and mark the thread as solved.