package org.jai.search.setup; import java.util.List; import java.util.Map; import org.jai.search.config.ElasticSearchIndexConfig; import org.jai.search.model.ProductGroup; public interface SetupIndexService { void createIndex(ElasticSearchIndexConfig searchIndexConfig); void reCreateIndex(ElasticSearchIndexConfig searchIndexConfig); String createNewIndex(ElasticSearchIndexConfig searchIndexConfig); void updateIndexSettings(ElasticSearchIndexConfig config, Map<String, Object> settings); void updateDocumentTypeMapping(ElasticSearchIndexConfig config, String indexName, String documentType, boolean parentRelationship); void updateIndexDocumentTypeMappings(ElasticSearchIndexConfig config, String indexName); void setupAllIndices(boolean parentRelationship); void setupAllIndices(); void indexProductGroupData(List<ProductGroup> productGroups); boolean isIndexExists(String indexName); boolean deleteIndex(String indexName); String getIndexSettings(ElasticSearchIndexConfig config, String settingName); boolean isAliasExists(String indexAliasName); List<String> analyzeText(String indexAliasName, String analyzer, String[] tokenFilters, String text); void replaceAlias(String newIndexName, String indexAliasName); }