Reindex a shared index
This topic describes a Search & Navigation feature that lets developers who share a developer index reindex a site without affecting other developers' data.
Use case
The most common use case for this functionality involves multiple developers who share a data index in a development environment. For example, a team of developers work on the same project, so they share the same data structure with unified mappings and settings. Implementing this feature allows you to reindex without affecting other peoples data.
Prerequisites
- Optimizely Content Management System (CMS) Alloy or Optimizely Customized Commerce Quicksilver sample site (CMS 11 and Commerce 13) installed from the Visual Studio Extension. See also Installing Optimizely .NET5 for CMS 12 and Commerce 14 installation instructions.
- Optimizely Search & Navigation service URL and default index name.
- Optimizely Search & Navigation client-side resource base URL.
Installation
- Install the following packages. To get latest development packages, use PM> Install-Package EPiServer.Find.
- EPiServer.Find
- EPiServer.Find.Cms
- Open the Quicksilver/Alloy site’s web.config file.
- Go to <appSettings> and update (add if missing) the following entry.
<add key="episerver:Find.ReindexMySitesOnly" value="true"/>
Possible values
- True – If user re-indexes the site, the data of other developers who share that index is not affected.
- False or key missing – If user re-indexes the site, all data is wiped out.
Note
Update the Search & Navigation Service URL and the default index name by updating
\<episerver.find serviceUrl="" defaultIndex=""/>
.
Important notes
- The Optimizely Search & Navigation index is not designed to be shared across sites. Developers can only share it if
ReindexMySiteOnly
is set to true.- Be sure that no property change is made while sharing the data index. This could lead to data loss and possibly a non-operational index.
- For best results, all developers who share a data index should add the
ReindexMySitesOnly
key to their web.config. If not, a developer may accidentally remove his teammate’s data.- Developers cannot share a
SiteDefinition
and copies of a database. We expect developers to share source code but set up different sites.
If developers want to test with their data, they need to set up a new local site, then manually export/import the site page/content data only.- Both
ReindexMySitesOnly
and a ServiceUrl
must be configured, because Search & Navigation cannot distinguish a shared index from an unshared one.
Without theReindexMySitesOnly
setting, Search & Navigation treats the index as normal. So, it clears everything when the re-index function is executed.
Updated 2 months ago