Gravatar for

Question by jshands, Feb 28, 2017 5:16 PM

Language fallback not being indexed for items with multiple versions

Language fallback is working properly on the site (visiting a page for a language that does not have a language version will show the fallback 'en' language item). Language fallback is working properly in the Coveo index for items which only have a Version 1 of an item (results for the item show up from the 'en' language version if there is not a version of the item for the current language).

However, when an item has a second version, it no longer indexes properly with language fallback.


I create a new item which only has a single "real" language version, in the 'en' language. When I index it, it behaves as expected, creating a new index item for all of the languages used on the site using the fallback item content: alt text

However, if I then create a second version of this item in the 'en' language, when I index it, only the 'en' language is using the latest version in the index, all the languages which are falling back wind up using the version 1 content, and removes all the version 2 items for other languages from the index: alt text

This leaves all those other language "stuck" at whatever the content was on the first version of the fallback language item.

If I delete the 'en' version 1 for that item, the index still removes all the version 2 items for other languages, but no longer mentions the version 1 indexed items: alt text

However this still leaves all the version 1 language items in the index (meaning all those other languages are still stuck displaying the version 1 fallback content of the 'en' language).

And if I create a new item with only an 'en' language version, and create a second 'en' version of it before I ever publish or index it, only the 'en' language winds up with a version in the index, because all the version 2 items for the other languages are removed, and there was never a version 1 added for them: alt text

And since no version 1 was ever added to the index, it means that those other languages don't have any version of the item in the index for them, so they don't show up in the search results at all, even though they are valid pages and properly fallback through the normal Sitecore mechanism.

Coveo for Sitecore version: 3.0.1266.0

Coveo Enterprise Search version: 7.0 x64 (8225)

Sitecore version: 8.1.151207

Gravatar for

Comment by François Lachance-Guillemette, Mar 3, 2017 7:58 AM

In your second scenario, it looks like version 1 and 2 are both indexed, and it should not. Could you check if the IndexLatestVersionInboudFilter is set in the indexing.filterIndex.inbound node, in Coveo.SearchProvider.config? (defined here in the doc). This will filter out items that are not on their last version.

Your last scenario looks very weird to me though. Are those items created directly in web or are they published from master?

Gravatar for

Comment by jshands, Mar 6, 2017 1:05 PM

IndexLatestVersionInboudFilter is set to true.

Those items were published from master.

0 Reply
Ask a question