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

Sitecore Technical Workshops - Top FAQs customers asked on XM Cloud

Hi Readers, I want to talk to you about interesting things which we have been doing which is "Technical Workshops" for our customers, so here goes the scenarios. So, we have been doing multiple types of technical workshops.  1) Training customer and their Sitecore technical team on latest and the greatest technologies like XM Cloud & Another composable stack and try enabling them for new Sitecore tech stack. 2) Customers / Potential Customers have their agenda of existing pain points, and we take a workshop on topics around them with best practices etc. little on new technologies, so they also know the future. Basically, we prepare custom targeted presentations & demos for individual workshops, and make sure it helps them answer their questions and they get insights of where Sitecore eco systems has to offer from their versatile toolset and try to keep them up to date with it. So, Purpose of this blog is, because in all these customer & their technical team's

An error occurred while receiving the HTTP response to This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details.

You have noticed many times that everything was working fine and suddenly the below error starts coming and you find no way to work it out An error occurred while receiving the HTTP response to This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details. The reason for this is the receiving size of WCF service is smaller then the data which is coming from service It was working before because it was small,So you will have to try to increase the receiving setting in your end point,Possible settings can be following maxStringContentLength="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxArrayLength="2147483647" That would definately help you!!!

Set up leprechaun code generation with Sitecore XM Cloud Starterkit

Hi Sitecorians, It has been amazing learning year so far and with the change in technology and shift of the focus on frontend frameworks and composable products, it has been market demand to keep learning and exploring new things. Reasons behind this blog Today's topic is something that was in my draft from April-May, and I always thought that there is already a good documentation out there for  Leprechaun  and a blog post is not needed, Until I realized that there was so many of us facing same kind of issues and same kind of problems and spending same amount of time, That is where I thought, if I could write something which can reduce that repetitive troubleshooting time, That would really help the community. 1)  In a project environment, if we get into some configuration issues, we resolve them, we make sure we are not blocked and continue, but if you think same issue, same step and same scenario will come to other people, so if we can draft it online, it will help other people 2