13

What is the difference between a regular index (e.g. sitecore_master_index) and a "search index"?

Why do I see certain indexes under the Indexing Manager in Control Panel, yet different ones under Rebuild Search indexes?

How should both of these types of index be used?

Could answers bear in mind the different versions of Sitecore and cite any major changes to how these work between these, if known + applicable?

4
  • Can you attach screenshots? "Indexing Manager in Control Panel" is clear but where you have the "Rebuild Search indexes"? Commented Oct 6, 2016 at 9:20
  • It's in Control Panel under Database as of Sitecore 8.0 Update 3, has it been removed?
    – Kasaku
    Commented Oct 6, 2016 at 9:27
  • No, it is still there, even in Sitecore 8.2. When you open Control Panel notice that there are different sections. Indexing section contains Indexing manager Database section contains Rebuild search indexes Commented Oct 6, 2016 at 13:40
  • Not much of an answer, but in Sitecore 8.2 Database > Rebuild search indexes indexes has been removed from the Control Panel and from the Sitecore.config. The system index from <search> node was also marked Obsolete in config (SC8.1.3) and has been completely removed in SC8.2
    – jammykam
    Commented Oct 13, 2016 at 20:53

4 Answers 4

12
+50

tl;dr: If you are on Sitecore 7.0 or newer, you should pretty much always be using ContentSearch indexes. If you are on Sitecore 6.X, you can only use the older Sitecore.Search.Index indexes.

Rebuild Search Indexes

This page will show indexes that are listed in the /sitecore/search/configuration/indexes section of the configuration. These indexes typically are of type Sitecore.Search.Index, an older type of search index available in Sitecore 6.x and earlier. This class hasn't changed substantially between Sitecore 6.6 and Sitecore 8.2. The Sitecore 8.2 build of Sitecore.Kernel has a [Obsolete("Must be removed in the next release.")] attribute attached to this class. Do not make any new indexes of this type on any site you think may ever be upgraded to Sitecore 8.2 Update-1 or later.

Indexing Manager

This page will show indexes that are listed in the /sitecore/contentSearch/configuration/indexes section of the configuration. These indexes will typically be of type Sitecore.ContentSearch.LuceneProvider.LuceneIndex or Sitecore.ContentSearch.SolrProvider.SolrSearchIndex. These are the newer style indexes you should be using. Use indexes of these types for all new indexes on Sitecore 7.0 or newer.

11

There is no difference. They are the same thing. They are both defined in config files, and they both are accessible using the Sitecore search API.

It comes down to how the index is used in the system. There are many factors involved: what parts of the system use the index, how long does it take to rebuild the index, how often the index is used, how often the index is rebuilt, is it possible to reliably rebuild the index, etc.

Indexes that appear in the UIs you mentioned have been determined to be safe to display in those UIs.

As for how these indexes are used, it depends on the index. It's beyond the scope of this question to describe each index and what it is used for. You can look in the config files to see what each index is built from. You can use a decompiler to see where Sitecore uses each of them.

Many people are not aware that search indexes provide access to much more than just items in Sitecore databases, or that you can define your own indexes to support your own specific requirements.

10

The "Rebuild Search indexes" will list the system index, used for searches in the Sitecore desktop.

I think the reason that this one is separated from the other is to be found in older Sitecore versions (6..). The system index was the first (and only in the beginning). There was no "Indexing Manager" in those versions. When Sitecore started to use more indexes, the Indexing Manager was introduced and this will now show you all indexes - except the system. Well, actually it is not showing all indexes - some are filtered out (e.g. indexes used for reporting) because they do not want you to rebuild them.

Probably one day the "Rebuild Search indexes" will disappear... (edit: apparently it is gone in 8.2)

Might want to read this old post: https://reasoncodeexample.com/2013/01/22/custom-lucene-net-indexes-in-sitecore/

3
  • So, given that the Search Indexes are extensible - e.g. you can add your own, just like with regular indexes - is there ever a reason to do this?
    – Kasaku
    Commented Oct 6, 2016 at 9:32
  • The custom indexes used to appear in "Rebuild Search indexes" dialog. Now they are in the "Indexing Manager". The post I added has some screenshots from indexes in 6.x. I think the extra dialog is some legacy (but to be sure I think we would need to ask Sitecore).
    – Gatogordo
    Commented Oct 6, 2016 at 9:35
  • Just noticed that in Sitecore 8.2 "Rebuild Search indexes" is gone :)
    – Gatogordo
    Commented Nov 8, 2016 at 13:28
7

RebuildSearchIndexForm is obsolete.

[Obsolete("The dialog is not in use anymore and will be removed in the future versions.")]
public class RebuildSearchIndexForm : WizardForm

So I would say, we don't need to care about that anymore.

2
  • The dialog gives views to Search indexes, but what about the indexes themselves? Are they going too?
    – Kasaku
    Commented Oct 6, 2016 at 9:53
  • @kasaku going where? I am not sure if I understand your question. Commented Oct 6, 2016 at 13:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.