Contact us

Check your content for indexing errors

Senior Developer
Valtech Netherlands

September 13, 2018

Sometimes you can get errors when indexing your content with Optimizely Find. Most of the time the errors that are logged are quite cryptic. So I have created a validator that uses your Optimizely Find instance to check if your content will cause problems when it’s being indexed.

You just need to get the Serializer from the SearchClient,  get your custom conventions and serialize the content.

 

JsonSerializer jsonSerializer = Serializer.CreateDefault();

Action customizeSerializer

= SearchClient.Instance.CustomizeSerializer;

customizeSerializer(obj: jsonSerializer);




IClientConventions defaultConventions = SearchClient.Instance.Conventions;




if (defaultConventions.ContractResolver.IsNotNull())

{

    jsonSerializer.ContractResolver = defaultConventions.ContractResolver;

}




if (defaultConventions.CustomizeSerializer.IsNotNull())

{

    defaultConventions.CustomizeSerializer(obj: jsonSerializer);

}




jsonSerializer.Serialize(value: content);

 

If there are any serialization errors you can return a warning, an error, whatever you prefer

You can get the complete validator in this gist (https://gist.github.com/jstemerdink/d7553deefb4cae809bd4b47bcec0a673)

 

Update: Also have a look at Brian’s post (https://www.brianweet.com/2019/03/29/find-serialization-exceptions.html)

 

Article originally published on Optimizely Development Blog: Check your content for indexing errors 

There is a license error on this site:
License has expired
The Web site remains functional, but this message will be displayed until the license error has been corrected.

To correct this error:
  • Ensure that you have a valid license file for the site configuration.
  • Store the license file in the application directory.
If you do not have a license file, please request one from EPiServer License Center.

Contact us

Let's reinvent the future