Using the merge utility



The merge utility lets you combine multiple collections with identical schemas. This is useful for merging smaller collections built from different sources into one, large collection. Also, you can use the merge utility to break up the collection into smaller collections of a roughly uniform size.

Note: The Verity merge utility is available only in Windows.

Collections can be merged only if they have identical schemas. Collections can be merged if they have the same set of style files (and style file entries).

Breaking up a large collection helps to optimize search performance, because it allows many applications to perform multiple concurrent search requests over the different collections. After breaking up a large collection, you can also discard older collections to reclaim limited disk storage space.

The merge executable, which starts the merge application, is located in the _nti40/bin directory. For more information on the specific location of this directory, see Location of Verity utilities.

For example:

c:\coldfusion9\verity\k2\_nti40\bin\merge /common = c:\coldfusion9\lib\common

To obtain help for the merge utility, enter the following command:

merge -help
Note: After you run the merge utility, use the mkvdkoptimize option to optimize the collection.

Merging collections by using the merge utility

The following is the syntax for using the merge utility to merge multiple collections into a single collection:

merge <newCollection> <srcCollection1> <srcCollection2> [srcCollectionN]

The utility reads srcCollection1, srcCollection2, and so on, and merges them into a single collection with the directory name given for newCollection If the directory name given for newCollection does not exist, it is created.

Splitting collections using the merge utility

The following is the syntax for using the merge utility to split a single large collection into smaller collections:

merge -split <srcCollection> <newCollection1> <newCollection2> [-number]

The merge utility reads srcCollection and splits it into roughly equal pieces, using the filenames given for newCollection1, and so on.

If you want to split a large collection into many new collections, you can use the following command, instead of explicitly naming each new collection:

merge -split -number newCollection srcCollection

The merge utility reads the collection identified by srcCollection and splits it into the number of segments specified by the -number option. The name of the first new collection is generated by appending the first two letters in the alphabet (aa) to the directory name given for newCollection. Each subsequent filename is generated by incrementing one of the appended letters (up to zz) for a maximum of 676 partitions. For example, if the value of -number is 3, and the value of newCollection is Collection1, the collections are named, Collection1aa, Collection1ab, and Collection1ac.

Note: The maximum length of the directory name given for newCollection is two characters less than the length allowed by the file system.