All project content is available for reading, but you need to be a member of the project for Subversion checkout of source code, or to create/modify any information.
Login if you are a member. Apply here to request membership (open to all).

About EasySearch

EasySearch provides EPiServer web site developers with a simple way to add powerful and flexible full text search on their website. It is provided with a Lucene back-end, but is carefully architected to allow different back-ends to be plugged-in with no changes to site code. Features include:

  • Event-driven indexing - no more inefficient site crawling
  • Provides out-of-the-box full text search of a web site
  • A demo search page with Faceted Search controls
  • Admin plug-in allows simple re-indexing and searching
  • Configured with XML with Intellisense support in Visual 2005
  • Generic indexing and searching API allows search engine back-end to seamlessly switched
  • Access to Lucene API provided for powerful search functionality
  • Supports CMS 6, CMS 6 R2 and CMS 5 R2

Frequently Asked Questions

For the commonly asked questions we receive, we're writing a FAQ in the EasySearch FAQ page.


This module is free for commercial and non-commercial use under the terms of the Gnu Affero General Public License v3 (See http://www.gnu.org/licenses/).



  • EasySearch v2.x.x.x requires EPiServer 5.2.375.7 (5 R2) or newer
  • EasySearch v1.x.x.x supports EPiServer 5.1.422.4 or newer

Some parts of EasySearch make use of the EPiServer 5 specific APIs, however back-porting EPiServer 4.x should not be a difficult task.

If you want to change and compile the source code:


  • 29 April 2014 - EasySearch no longer under active development
    • We regret to announce that EasySearch will no longer be actively developed by NetworkedPlanet Limited. We do not plan to migrate the code to support EPiServer 7, however we now make the source code available to the public under the terms of the GNU Affero General Public License v3.
    • Existing maintenance contracts are not affected by this and we will continue to provide our support to customers with existing maintenance contracts.
  • 26 May 2011 - Released - CMS 6 R2 Compatible
    • #241 - Fixed issue where the Server instance ID was not correctly appended to index folder when EasySearch is configured for enterprise mode and running under IIS integrated mode.
    • #242 - Renaming directories that contain indexed files will now update with the new pathname.
    • #243 - Indexed page files now takes into account the published language of the page, so indexed page files will only create language branches in the published language rather than all site enabled languages.
    • #244 - EasySearch now handles forced deletion of pages using ForceDelete properly.
    • The developer guide for enabling search stats logging now includes a missing parameter for ensuring stats are logged as UTF-8.
  • 18 March 2011 - Released
    • #238 Files that are renamed are indexed with the new filename.
  • 9 February 2011 - Released
    • #199 Fixed issue with scheduled indexer job if it encountered a page folder which wasn't accessible to the role 'Everyone'.
    • Meta data from files such as Author, Title, that can be opened using an IFilter including PDF, DOC are now indexed. Meta content is stored in fields in the format easysearch_documentmeta{name}.
    • Added support for indexing files from Virtual Path Providers that don't have local paths (such as DataBaseFileSystem).
    • #227 Configuring file extensions for indexing is no longer case sensitive. 'PDF' will be treated the same as 'pdf'.
    • #231 Fixed an issue with ExpandSynonyms that removed the original query from the search if the search term was a phrase search surrounded by quotes '"'
  • 10 November 2010 - Released
    • #224 EasySearch now implements IInitializationModule under CMS 6 to register the plugin on startup, this fixes the problem that caused the configuration to not be set correctly when first initialised under certain conditions.'
  • 23 September 2010 - Released
    • Query parsing now defaults to using an AND operator (previously queries were parsed using OR). The default parsing operator can be changed in config or as a parameter when calling LuceneQuery.GetQuery().
    • Fixed IndexHandlers that prevent indexing of files by returning false to prevent indexing.
    • Added a setting to the Scheduled Indexing Job to specify the page to begin indexing from.
  • 5 May 2010 - Released for CMS 6 and CMS 5 R2 and later
    • EPiServer CMS 6 support - Download the CMS 6 version of the module and install using the EPiSever Deployment Center.
    • Stripping of markup has been improved to prevent run-in of text when HTML doesn't include any line breaks.
    • The index is now optimised. Optimisation of the index is performed automatically and can also be manually invoked from the admin page. The frequency of index optimisation isn't currently configurable but will be in future.
  • 1 March 2010 - Released
    • Minor fix for an issue when EasySearch is installed in an Enterprise environment and remote indexing events were not being triggered correctly.
  • 16 February 2010 - Released fixes include;
    • Pages are indexed on page moved to update the page path reference for #185
    • Added overloaded Search() methods that accept a Sort object to custom sort returned results and a Filter object to filter searches. #183, #161
    • Indexing in load balanced environments has been improved with indexing now being controlled by a mutex. If EasySearch is installed more than once on the same server then the mutex Id can be configured. #187
    • Other bug fixes include; #191,
  • 19 November 2009 - Released fixes include;
    • To better support different page providers, the default primary key when indexing pages is now the Page GUID. If you are upgrading from a previous release you must re-index your site as part of the upgrade. Also if you are relying on the primary key being the Page Link ID, this is now stored separately in the field easysearch_pagereference and should be parsed using PageReference.Parse().
    • Improved efficiency of indexing sites with large page hierarchies.
    • Searches can now be logged using a static QueryLogger.LogQuery() method from a search page. The most frequent search terms with results and also search terms that produced no hits are logged.
    • EasySearch FindPagesWithCriteria supports more default EPiServer terms such as PageStartPublish/PageStopPublish.
    • Other bug fixes include; #162, #168, #172, #178.
  • 3 August 2009 - Released - EasySearch now implements a FindPagesWithCriteria and FindLuceneDocumentsWithCriteria method as well as synonym support and support for exclude pages or page branches from indexing. Bugs fixed and features included are; #125, #126, #134, #143, #144, #146, #147, #149, #152 This release now requires EPiServer 5 R2 or later.
  • 8 July 2009 - Lots of new features being committed in preparation for the next release. e.g. FindPagesWithCriteria and Synonym support.
  • 27 March 2009 - Released - Minor bug fixes.
  • 6 March 2009 - Released - This contains the first cut of our new Faceted Search controls!
  • Release This contains some important bug-fixes: #100, #101, #102, #103, so upgrade now if you're using
  • New faceted search controls available, no docs yet though (Andy is working on them)
  • EasySearch supports EPiServer 5 R2 SP1 - Just use the latest R2 download