Skip to main content

Coveo for sitecore get started step by step part-1

 Hello Folks,

Today i will be sharing few essential pointers about coveo for sitecore, such a powerful tool for creating search interface and search pages for our websites

I will write this and keep content in such a way so anyone who is new to coveo can get started with the search page and coveo components


 

This is part-1 of this series for coveo for sitecore, so first i will try giving some basics of coveo and why few things are required and must to have or what is needed to get started, what is essentials and mandatory actions for getting up and running with coveo search page.

Ok, so let's get started, Well when i implemented my first search page, before that, i had so many questions about coveo and how things are working, if we have solr why we need a coveo again which also has its own master and web indexes (silly questions but when you are starting, no question is silly), How to install coveo and what are the things needed, existing indexes which we have used, do we need to change them? or how coveo will know about those indexes and code reading from those indexes etc.

Because i had no knowledge of coveo, i had these questions, but i started researching and learning coveo to understand more and i started getting more clarity around things, If you also have these questions, i will try to answer them here

What is coveo for sitecore

Well this documentation is already available on What is coveo for sitecore you can read details there, but in a nutshell, coveo for sitecore is a package just like any other sitecore package that you install, so once you install the package from Coveo for sitecore packages , Make sure to see the compatibility of your  sitecore or SXA version against coveo provided packages from various versions available

Basically, "It's a package that you download and start using coveo search components"

So, First set of queries that i had were answered here, where when you are trying to start something you need that first step, and this is the first step in implementing coveo for sitecore, when you download the coveo package is installed, It comes with its own indexes coveo_master_index and coveo_web_index.

Also, coveo is capable of and has full support of greatest and latest version of sitecore.

in this series and in my following blogs, I will show step by step from installation of package till getting up and running with search and its different components and how customization can be done depending on different needs.

But before getting our hands dirty, its good to have a basics clear, we just have learnt what is coveo, now once coveo is installed, there are lot of terminologies and lot of mandatory steps which are must in order to have successful coveo search running, Let's get those points clear and after that we can gear towards actual implementation steps.

What is mandatory if you are implementing coveo for sitecore

1) Coveo organization & coveo license

A Coveo organization is a single tenant instance hosting data and Coveo Platform service configurations allowing an organization to make content sources securely searchable with optimized relevance powered by Coveo Usage Analytics and Coveo Machine Learning. 

When you install coveo package it will ask you to select your organization, if your organization has already acquired the license, you can login with your organization's email and it will automatically identify you.

If you want to try out the product, there is 30 days trial available with full fledged functionality of coveo

So, either existing custom or a new, basically your coveo organization hold following things for you

  • A set of search sources 
  • Analytics data
  • Query pipelines  

All the data that we index from different sources (coveo is capable of indexing data from sitecore and also external resources too) in your organization's indexes.

After the deployment of Coveo for Sitecore files in your Sitecore instance, you need to configure your indexing options, setup a connection to your Coveo organization and activate Coveo for Sitecore

There are three different ways you can connect and activate your organization, If you already have coveo integrated into your site and if you are creating another search page, You do not need to do this, because it must have been done already, but if you are starting fresh, you need to activate your organization using following three ways (most of the time, it is done just while installing the package when it prompts for organization's data and connect to it, we will see it it coming blogs)

  • Using sitecore interface

When installing Coveo for Sitecore as a Sitecore package using the Installation Wizard, Coveo for Sitecore will automatically prompt you to configure and activate

Alternatively, If you by mistake skipped activating your organization at package installation time, you can go to predefined URL and do it from there too,  See Activate coveo organization

  • Using Rest API 

In scaled environment there might be some scneario where you want to activate the organization behind the scheme using automated process, in that case APIs can be used

  • Using Powershell script

2)  Coveo Farm

Well, It is is not mandatory to have a farm name, but farm name is a part of the above step where, while setting up organization's detail, it also asks for farm name, its not mandatory but its a good way to unify all your coveo resources under one label or name, for instance all of your developers can have same farm name, your dev, qa, stage , production can have their respective farm name to have all of their respective search resources unified under same umbrella.

If you do not provide farm name, it takes Sitecore host and instance name instead.

Why personally i think farm name should be given is because, while making custom api calls, you can easily target coveo indexes from particular farm, We will see that in a future blog post.

3) A well built search indexes

Just like a standard solr indexes which ships with sitecore, coveo has its own index, and before you get started with any of the component set up, you will need to have data in index, and you can also configure the content tree path to tell coveo what content you want to index, but when you are installing coveo for the first time, your indexes will be empty, you can run indexing via coveo admin panel to index them and those indexes will be populated with data in your configured farm.

4) Coveo Search Resources component

Coveo Search Resources is a mandatory rendering in any Coveo for Sitecore search interface, whether for a complete search page or a part containing any coveo search functionality

Why this rendering is required on the layout or a page is because, all other coveo search infrastructure will need information generated by this rendering.

This rendering adds JavaScript and CSS references required to use the Coveo JavaScript Search Framework renderings and the Coveo for Sitecore-specific renderings.

When you are starting with any new technologies at that time you do not have all the information, or you have too much information and i personally feel, in those cases it is very hard to get into the judgement or fundamentals of it as either its too much to research or there are too many questions around it

So although coveo for sitecore is very well documented, purpose here is to accumulate few things which are a good starting point for a developer instead of a detail research and going through too many documentations.

So in next article i will explain components that ships with coveo and their usage and will gets our hands dirty.

Hope you will find these information helpful as these are derived from when i first hands on to coveo and extracted the crux out of it and putting it here.

Thanks. 


 

 

Comments

Popular posts from this blog

Why SitecoreAI - Getting into the shoes of the customer how to select right CMS

Hi Team, Lately, I have been talking to lot of our customers / potential customers and having pre-sales demos where one question always comes is "Why Sitecore" ?  Now this question can be for any product which is out for sell. And as a technician I always get into product technical features, but at the same time as a pre-sales guy, it also makes me think, surely all competitive products have same features, so definitely answer to this is not in the technicalities.  If you step back and think, we are also a customer in our daily life and buy lot of things, what is that process we go through? When we buy, how can your customer decide if this is a right fit for you or not, why we select A over B? Is it price? is it service? Is it a brand? Is it about features? Is it about brand loyalty?  When it is a technical product, I am sure it cannot start with the technicalities of the product or selecting product itself, 100% not, I feel decision is always business strategy first and ...

Hell of sitecore aliases pipeline breaking the site with 500 error

Hello Friends, I belive this blog post is very important for everyone because, It has some very serious effect on working of your headless website, i will share my experience what we faced and how we resolved it Issue we started facing Our site started giving "Key cannot be null or empty" with YSOD like following  Side affect Because of this 500 error, Our site pages were showing 500 custom error page intermittently and our MAU (Monthly Active User) drop rate increased. Sitecore KB There is already Sitecore KB article talking about this error but the patch which is provided on this link is confusing as well as very huge and it could bring other issues along with it as that upgrade patch also has lot of other things too which i did not want to introduce in our stable CMS. Known Issues - Retrieving the child items of resource items is not thread-safe Observation Though the surfaced exception was looking similar and giving same error and behavior given on this article, We looked...

Zero to Hero - A real life RCA of exact issue in Sitecore Managed Cloud environment

Hello All, The purpose of today's post is to share a real life burning and escalated scenario which was new to me and how did I approach it and how big the escalations were and what was the outcome Sitecore's goodwill was at stack not because Sitecore is not capable of handling it but just because our environment was Sitecore Managed Cloud, and any issue that comes if its infra, back end code, front end code will be first pointed as Sitecore issue and that is where our consultancy and experience will play a role to prove that it is not Sitecore issue.  Issue we faced Out of the blue our site started giving "504 Gateway Time-out", and it was reported that almost everyone is getting this error, but when we used to browse the site, everything looked good and never 504. 504 Gateway Time-out error tells that, That the request went to Content Delivery servers of Sitecore from gateway, but gateway did not get response in time from those CDs and hence it gave time out error. ...