Per Bjurström
Jun 8, 2009
visibility 10785
star star star star star star
(2 votes)

Performance: How to disable keyword indexing in SP2

EPiServer CMS indexes content in properties for two purposes, one of them is to extract links and the other is to extract keywords for the internal search engine.

If you don’t use the internal search engine the server does a lot of work and fills up tables* in the database with a lot of keywords that are never used.

Since EPiServer CMS 5 R2 Service Pack 2 you can disable the keyword indexing by setting:

 

<site (..) 
       indexingTextEnabled="false" 

      (..)

/>

 

*) Affected tables in the database are tblKeyword and tblPageKeyword

Jun 08, 2009

Comments

Steve Celius
Steve Celius Sep 21, 2010 10:32 AM

Oh, I so wish this feature had been available for earlier versions too (like 4.61)... guess we'll have to wait until we have migrated the site.

Out of curiosity, if we're not using the built-in search, could we just "delete from tblKeyword / tblPageKeyword"? At regular intervals of course.

Jonas Lindau
Jonas Lindau Sep 21, 2010 10:32 AM

Does this affect all search-based features? Like the search method in the staging functionality, the searchbox in edit-mode, PageSearch control etc.

per
per Sep 21, 2010 10:32 AM

Steve: I guess that workaround should work.

Jonas: This affects the SearchDataSource control which is used on the Search-template in a default installation, not in edit-mode.


Sep 21, 2010 10:32 AM

Is there a way of start a reindex of all keywords ? This is useful after migrated a site when the site f.ex has EN as the masterlanguage and you would like the masterlanguage to be NO. Using a tool like this (http://blog.najmanowicz.com/2009/04/06/advanced-language-manipulation-tool-for-episerver/) does not change the LanguangeID in the tblKeyword. When trying to search the SearchDataSource gives you an "Object reference not set to an instance of an object". This is due to the page security check in the public TextSearchResults SearchPages() and the differ in languagebranch the page will be null and an unhandled exception is thrown.

A very good thing is that the EPiServer code is not obfuscated, so it's possible to debug your way to the the problems (even if they in this case are my own).

per
per Sep 21, 2010 10:32 AM

You can try this rather out-dated tool:
http://world.episerver.com/FAQ/Items/How-do-I-reindex-all-pages-in-the-database/

Not sure it works in CMS 5 but its worth the try and the code should be included.

Sep 21, 2010 10:32 AM

Afternoon Per, Any idea why indexing is returning pages/ properties marked as 'Searchable' false.
These are pages within the epi tree that are modules and as far as I have read 'Searchable' set to false should suffice?. We certainly do not want the user to navigate to the data/module containers - seems like post process filtering is the only way I can resolve it.
Regards

per
per Sep 21, 2010 10:32 AM

Only properties marked searchable will be indexed, so you may have to republish the page if you change the value after the fact.

Johan Book
Johan Book Oct 28, 2010 11:46 AM

Does this also work for CMS 5 (non SP2)? A related question: if we don't use the internal search engine, is it safe to uncheck "Searchable property"? Will this affect performance in any way? Is it possible to change the default value of "Searchable property"?

error Please login to comment.
Latest blogs
Optimizely Commerce 14 Now Supports .NET 10

In my previous post, Optimizely CMS 12 Now Fully Supports .NET 10 , I noted one remaining limitation: Commerce 14 (Commerce Connect) did not yet...

Bien Nguyen | Aug 7, 2026

The Top 10 Things I'm Actually Using AI For

A while back I wrote about ReviewPR, an Azure Function that uses AI to review Azure DevOps pull requests. That was one specific use case, but over...

KennyG | Aug 5, 2026

Drag-and-Drop Reordering for Commerce Media Collection in Optimizely Commerce Connect

Optimizely Commerce Connect ships a polished asset editor for the CommerceMediaCollection  property on catalog entries. It lets editors add, remove...

Linh Doan Cuu | Aug 5, 2026

Order tabs with drag and drop V2

I earlier did a very simple Blazor version to be able to sort tabs with drag and drop. I wanted to update it a bit and also display how the tabs ar...

Per Nergård (MVP) | Aug 4, 2026

Optimizely : Missing Language Manager Gadget Fix in CMS 12 After Upgrading to .NET 10

Recently, while upgrading an Optimizely CMS solution to .NET 10, we came across an issue where the Language Manager gadget completely disappeared...

Madhu | Aug 2, 2026 |

Flat or Nested? Weighing Your Content Modeling Options in Optimizely SaaS CMS

When building a headless site on Optimizely SaaS CMS, one of the earliest and most critical design milestones your team will face is defining your...

Vipin Banka | Jul 31, 2026