So you are starting a new Sitecore project and your Project Manager shares the following with your team: “We are going to use Coveo for Sitecore to help us with the search stuff”. You immediately think “But we know nothing about this Coveo thing… here we go again learn something complicated to help us doing something that we already know how to do”. Wrong. Actually, you are wrong twice.
The first thing to note is that Coveo actually is pretty simple. I can guarantee you that using this post you will be able to have you first Coveo search page up and running in under 6 minutes.
The second thing is that Coveo is a Relevancy engine and not only another search engine as you thought. You will see in a few minutes that by using Coveo you will be increasing the quality of your search ten times if compared by the result you get using Solr or Lucene.
Let’s Pass to the Action
I suppose that you already have your Sitecore 9 instance installed. So all you need now is a Coveo for Sitecore package. Do yourself a favor and always use the most recent version which can be found here.
Installing the Package
Simply open the installation wizard and select the previously downloaded package. Accept the terms and start the installation. Easy peasy.
After a few seconds, you will see a popup talking about the documentation.
You can have some extra fun reading it later here, so don’t worry. By the way, I strongly suggest you use the search box on this page. Coveo knows one thing or two about search, so I’m pretty sure you will find what you are looking for.
The next popup will ask you to log in the Coveo Cloud Platform. Nothing complicated, you can use your google email if you want.
Now you must create your Coveo Cloud Organization. You can look at it as your Coveo User Profile. That’s the place that Coveo is going to store your data, analytics, indexes, machine learning models and where you will be able to see all those nice reports the Coveo team has built to you. Just go ahead and create a new organization.
After doing that, you will be asked to enter your Sitecore credentials. Coveo uses these credentials to basically grab the security permissions from the indexed items and to fetch their HTML. Do you want to keep it simple? Put the credentials of an admin and you will be fine.
The next popup will offer you the possibility of indexing your pages HTML instead of indexing only the Sitecore item and its fields. If you want to be able to search by the body of those pages just select the first option and smash the Next button.
Now, Coveo wants to know about the security on your items. Will those items be searchable by every single user using your website or are they secured somehow?
Finally, the last popup will tell you that in order to activate the package Coveo needs to rename a few config files that were deployed with the .example extension.
Nothing fancy, Coveo does that to avoid tons of app pool restarts during the configuration phase.
Rebuilding your Coveo Indexes
In order to be able to search on Coveo indexes, you must execute an initial rebuild. Ideally, that is the first and last time you will execute a full index rebuild since Coveo is always watching any change you do on your master database and synchronizing them with your already built master index. Then, when you publish those changes to web Coveo will do the same with the web index.
Simply go to your Control Panel page, open the Indexing Manager, select the two Coveo indexes and start the rebuilds.
The time this operation will take is proportional to the size of your instance. So, if you have a lot of items, Don’t Panic! Your rebuild will take a few minutes but that’s the expected behavior.
Creating your First Coveo Search Page
That is the easiest part of this tutorial. Choose a place on your content tree, right-click, insert from template, branches, Coveo Hive, Example Search Page, give it a name, insert and boom!
In 5 seconds you just created the full search page that Coveo uses as an example.
Coveo creates a bunch of items, templates, and renderings during the package installation. Also, you just created a brand new Coveo search page. Now is time to bring all those items from master and put them into web. A simple smart publish should get the job done.
Let the Fun Begin
And that’s it! You just have to open the search page you created.
You will find out that the example Coveo search page contains a search box, facets, sort options, search tabs and a result template. Pretty much everything that a complete search page should have. Go ahead, play with it a little bit because that’s the best way you have to completely understand all the power that a Coveo search page can offer to your website.
Once you get used to it it will be the time to start customizing your page. But you know… That’s a story for another blog post. See you next time!