Henrik Fransas
Mar 11, 2014
visibility 6419
star star star star star star
(1 votes)

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!

Mar 11, 2014

Comments

Kim Medin
Kim Medin May 19, 2014 02:32 PM

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?

Henrik Fransas
Henrik Fransas May 19, 2014 02:41 PM

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

Chaudhry Mohsin Ali
Chaudhry Mohsin Ali Jun 20, 2018 10:15 AM

Where should we include this file? Should it be in an init module?

Chaudhry Mohsin Ali
Chaudhry Mohsin Ali Jun 20, 2018 11:02 AM

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?

error Please login to comment.
Latest blogs
Composition Over Inheritance: Why Your Content Contract Is Not a Base Class

Inside the structural conformance pattern in SaaS CMS — from server-side inheritance to pipeline governance. A contract in Optimizely SaaS CMS is...

Vipin Banka | Sep 19, 2026

Optimizely Opti ID Integration: Why the API Key Was Missing from the DXP Management Portal

While working on an Optimizely CMS 12 Opti ID integration recently, we ran into an issue that initially appeared to be related to SSO authenticatio...

Madhu | Sep 18, 2026 |

Extending a Contract: What You Can Override

Contracts share fields across content types — but not every field setting can be overridden. Push the same contract onto several components, and CM...

Chirag Khanna | Sep 18, 2026 |

Building a Blazor Server UI Inside the Optimizely CMS 13 Admin Shell

What I learned shipping a Blazor Server UI inside Optimizely CMS 13 — Razor components in a NuGet package, the Blazor hub next to MapContent(),...

Stanisław Szołkowski | Sep 17, 2026 |