I have more than 50 different types of indexes set up in a marklogic content database. The database contains half a million XML documents. It will take more than 6 hours to rebuild all the indexes.
If I just want to update one index setting, what is the best way to refresh just that index?
Here is what I observed. I would like to confirm whether my observation and understanding below are correct.
Is my above understanding correct? Which ml-gradle task should I use to do a quick search test for different index configuration settings?
If you want it more targeted, and faster to just deploy the indexes, then I would use mlUpdateIndexes.
If you have re-indexing enabled on the database, then when you apply your new index with mlUpdateIndexes, it should start reindexing the content matching that new index.
I wouldn't expect different indexing behavior from mlDeploy. With mlDeploy it will deploy the index changes as well as any other project configurations. So, the deploy command could take longer and might push other config changes that you may not want to adjust if you were intending only to make one index change.
mlReindexContentDatabase will initiate a full reindex, regardless of what needs indexing of the database named by mlAppConfig.contentDatabaseName
.
mlReindexDatabase basically does the same thing, but it reindexes the database named by the project property dbName
e.g. gradlew mlReindexDatabase -PdbName=my-database