A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Per Bjurström
Jun 8, 2009
  10218
(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"?

Please login to comment.
Latest blogs
Jhoose Security Modules v2.6.0 — Added support for Permissions Policy and .NET 10

Version 2.6.0 adds Permissions Policy header support, updates to .NET 10, improved policy management, configurable security settings, and enhanced...

Andrew Markham | Dec 6, 2025 |

Building a 360° Customer Profile With AI: How Opal + Optimizely Unlock Predictive Personalization

Creating truly relevant customer experiences requires more than collecting data—it requires understanding it. Most organizations already have rich...

Sujit Senapati | Dec 4, 2025

Building a Lightweight Optimizely SaaS CMS Solution with 11ty

Modern web development often requires striking a difficult balance between site performance and the flexibility needed by content editors. To addre...

Minesh Shah (Netcel) | Dec 3, 2025

Creating Opal Tools Using The C# SDK

Over the last few months, my colleagues at Netcel and I have partaken in two different challenge events organised by Optimizely and centered around...

Mark Stott | Dec 3, 2025