September-14-09

Kentico 4.1 ships with new search module: Smart Search

We all use Google on a daily base and search has probably become the number one navigation tool on the web. This changes however on a site level, because good search engines are expensive and complex to integrate. The good news: in version 4.1 Kentico replaced it's rather slow on-site search with the enterprise level smart search that is based on the well-known Lucene.Net search engine.

Fast

There are two commonly acknowledged criteria for what makes a good search engine: speed and the relevance of results. I would add a third one: the representation of the search results

I integrated the smart search already on this site. Try it. It is incrediably fast. No compairison with the old search engine.

Relevance

It is difficult for me to make a call here. My site has less than 500 pages, but all searches I tried seemed to return decent search results. The results are marked with a relevancy meter. There is not much documentation available, but it seems that keywords found in the title of the page or the URL score more points.

Result representation

As always in Kentico, the site designer has full control over how the results are displayed. A nice feature is that searched keywords of the document title or the text snippet of the found page can be highlighted.

On my site I am also displaying the Meta description of the found page to give the user some more information about the found document.

smart search search results

The search result will highlight the searched item and display a relevance bar. In this example, the meta description and the creation date of the document is also displayed.

Controlling searchable documents

On the backend, smart search enables quite a few options to configure which documents or sections of the site can be searched: The way it works is that the system administrator has to create so called "search indexes". A search index contains keywords to all documents that can be searched. Documents can be restricted by their locations in the site (i.e. news section, product section, etc) or document type (news, event, regular page, etc.).

You can even define which fields of a document type can be searched. In essence, there are many scenarios that could be achieved with different configurations.

Enabling advanced search

For advanced search requirements, you can enable the "Full search syntax", which allows users to specifically search certain documents fields with a very precise syntax. In some cases you also may want to enable search filters to limit the range of documents that will be searched, or define how the search results will be sorted, but the scope of these details are beyond this introductory article.

Updating search results

The main reason why this type of search engine is so fast, has to do with the fact, that it is not actually documents that are searched, but the search index, as explained above. The search index needs to be manually created in the beginning and will then be updated by a regularly running task. The default value is 4 hours, but this can be changed to any other time frame.

Conclusion

The new search engine is a simple proof that Kentico wants to position its CMS to an enterprise level. If they do as well with future components as they have with the search engine, they will — no doubt — succeed.

Comments
Ralph
Also, you can change the colors in the style sheet that was imported with the transformations. The pager is a bit complex, though...
06/10/2010 5:39:32 PM

Ralph
Hi Scott,

These are UI strings that can be removed in the smart-Search-Result transformation. Look for something like this: CMS.GlobalHelper.ResHelper.GetString("r42.aboutthisdocument") and replace it with what you want. The transformation was setup for multi-ligual use.

It should actually display the publication date and - if available the meta description of the result page.

You can find a discussion of this transformation here:
http://kenticodeveloper.com/Ralph-Spandl/October-2009/Smart-Search-presentation.aspx
06/10/2010 5:35:23 PM

Rhino Car Hire
Hi,

I have it almost working here, I need to do the css style, but I get this at the beginning:

http://www.rhinocarhire.com/Car-Hire-News/Search.aspx?searchtext=hertz&searchmode=anyword

r42.aboutthisdocument:
r42.creationDate

Thanks

Scott
06/10/2010 3:35:41 AM

Ralph
The smart search representation works also with version 5.5. The notification when importing the web part can be disregarded.

As you will see, the import are mostly edited transformations, as well as a lot of CSS and some images that will be stored in "\App_Themes\smartsearch\pager".
05/10/2010 10:42:36 AM

Rhino Car Hire
Hi,

I notice you guys have released a better looking smart search results presentation on Kentico Market place, do you have any plans to release a version for 5.x ?

Thanks

Scott
05/10/2010 5:49:22 AM

Leave comment Subscribe



= six + two