• Twitter
  • LinkedIn

Introduction

In this blog, I will be sharing some tricks and tips for Sitecore Search that I've discovered through troubleshooting various issues. If you are still unfamiliar with Sitecore's offerings, you can refer to our previous blogs on their platforms here.

What is Sitecore Search?

Sitecore Search is a powerful SaaS-based search solution that enables developers to create personalized search experiences for websites and applications. It offers capabilities such as AI-powered relevance, real-time indexing, faceted search, and comprehensive analytics.

However, since Sitecore Search is provided as a SaaS solution, troubleshooting issues can sometimes be challenging without direct access to the underlying systems. This blog addresses some not-so-obvious issues I've encountered and how to resolve them.

CEC Not Showing Any Data

One of the most frustrating issues I encountered was when our Customer Engagement Console (CEC) wasn't displaying any data. In this case, we had set up a custom entity, and while our data was being ingested and indexed properly, nothing would appear in the CEC interface.

After extensive back-and-forth with Sitecore Support, we discovered the root cause: the use of the "Base Empty Spec" template. This template should be avoided as it doesn't add some of the required attributes to the domain/entity.

Sitecore Search image 1

Unfortunately, this isn't documented anywhere in the official resources, to my knowledge. Instead, you should always use the "Base Attributes Template" which includes essential attributes like Document Activeness, ID, Source, and Stats.

Sitecore Search image 2

This simple switch from "Base Empty Spec" to "Base Attributes Template" resolved our issue immediately, and our data began appearing in the CEC interface as expected.

Generic Error on Developer Resources

Another issue I encountered was while setting up our staging environment. I wanted to create custom API keys for different platforms and needs that access Search. In the process, I removed all existing API keys, thinking I would simply recreate them with better naming conventions.

This turned out to be a critical mistake. After removing all keys, I encountered a generic error on the Developer Resources page and couldn't create new API keys. The system was essentially locked, preventing me from accessing essential search functionality.

Important Warning: Never remove all existing API keys from your Sitecore Search instance. Always keep at least one key active.

To resolve this issue, I had to contact Sitecore Support, who had to manually intervene to restore it. These types of issues can cause significant delays in your development timeline, so it's best to avoid this situation altogether.

Best Practices for API Key Management

Based on my experience, here are some recommendations for managing API keys in Sitecore Search:

  • Always create new keys before removing old ones
  • Use descriptive naming conventions that identify the purpose and environment (e.g., "production-website-frontend")
  • Implement proper key rotation practices instead of deleting keys
  • Document which systems use which keys to avoid accidentally removing keys in use

Conclusion

While Sitecore Search is a powerful tool in the Sitecore ecosystem, these undocumented behaviors can cause unexpected roadblocks in your development process. I hope these tricks and tips help you avoid the same pitfalls I encountered.

Remember:

  • Use the "Base Attributes Template" instead of "Base Empty Spec"
  • Never remove all API keys from your Sitecore Search instance

Stay tuned for more...

References