You are here: Overviews > Building and Maintaining Indexes > Merging Indexes
dtSearch Text Retrieval Engine Programmer's Reference
Merging Indexes

How to merge two or more indexes into a single index.

Merging indexes combines two or more indexes into a single index, which contains any document that was in any of the merged indexes. 

If the same document appears in more than one of the merged indexes, only the most recent version of the document (based on the modification date recorded in the index) will appear in the merged index. 


Merged indexes should be built with consistent settings to avoid incompatibility errors during merges. To ensure consistency when building indexes that will be used in a merge, you can use IndexJob.CreateCompatibleIndexPath to create an index that will exactly copy the settings in an existing index. 

If indexes being merged are not compatible, the error code dtsIndexMergeNotCompatible will be returned and the merge operation will fail. Possible reasons for index incompatibility include: indexes were created with different ICU versions, different case or accent sensitivity, different values for TextFlags.dtsoTfAutoBreakCjk, or in some cases differences in the dtSearch Engine version used to create the index.

DIndexMergeJob or dtsIndexMergeJob
dtSearch::Engine::IndexJob, set ActionMerge = true
com.dtsearch.engine.IndexJob, setActionMerge(true)
COM (Visual Basic, ASP)
IIndexJob (IndexJob) object, set ActionMerge = true
Copyright (c) 1995-2022 dtSearch Corp. All rights reserved.