Indexing only referenced files with EPiServer Find 7.5
Henrik wrote a very good blog post on this for the previous version of Find that you can find here:
http://www.lindstromhenrik.com/indexing-only-referenced-vpp-files-with-episerver-find/
If you want it to work with iContent all you have to change this:
Remove this:
FileIndexer.Instance.Conventions.ShouldIndexVPPConvention = new ShouldIndexVPPConvention(x => true);
Change this:
FileIndexer.Instance.Conventions.ForInstancesOf<UnifiedFile>().ShouldIndex(x =>
To:
ContentIndexer.Instance.Conventions.ForInstancesOf<IContentMedia>().ShouldIndex(x =>
Then change this row:
var softLinks = contentSoftLinkRepository.Load(x.VirtualPath);
To:
var softLinks = contentSoftLinkRepository.Load(x.ContentLink, true);
And it should be up and running!
Good luck!
This doesn't seem to work if the reference is from a property on a page that doesn't have a template (settings page, container pages etc).
Any ideas if that can be solved?
Kim, I didn't know that, thanks for the information. It must be that those links does not register as softlinks. It should not be hard to extend the function to also search through all the properties that are contentreference to a mediadata-content. I do not have the time to fix that right now, but will look into it
Where should we include this file? Should it be in an init module?
And when we unlink the file what should happen then?
For example when we add a file in the content area it should appear in the search result but after deleting the file from the content how should we update the index, so that the file is not included next time?