private void createIndexIfNeeded(Client client, IndexName indexName, XContentBuilder settings) { try { client.admin() .indices() .prepareCreate(indexName.getValue()) .setSettings(settings) .execute() .actionGet(); } catch (IndexAlreadyExistsException exception) { LOGGER.info("Index [{}] already exist", indexName); } }
@Test public void getIndexMailboxNameShouldReturnConfiguredValue() throws ConfigurationException { PropertiesConfiguration configuration = new PropertiesConfiguration(); String name = "name"; configuration.addProperty("elasticsearch.index.mailbox.name", name); configuration.addProperty("elasticsearch.hosts", "127.0.0.1"); ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration); assertThat(elasticSearchConfiguration.getIndexMailboxName()) .isEqualTo(new IndexName(name)); }
@Test public void getIndexMailboxNameShouldReturnOldConfiguredValue() throws ConfigurationException { PropertiesConfiguration configuration = new PropertiesConfiguration(); String name = "name"; configuration.addProperty("elasticsearch.index.name", name); configuration.addProperty("elasticsearch.hosts", "127.0.0.1"); ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration); assertThat(elasticSearchConfiguration.getIndexMailboxName()) .isEqualTo(new IndexName(name)); }
@Test public void getIndexQuotaRatioNameShouldReturnConfiguredValue() throws ConfigurationException { PropertiesConfiguration configuration = new PropertiesConfiguration(); String name = "name"; configuration.addProperty("elasticsearch.index.quota.ratio.name", name); configuration.addProperty("elasticsearch.hosts", "127.0.0.1"); ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration); assertThat(elasticSearchConfiguration.getIndexQuotaRatioName()) .isEqualTo(new IndexName(name)); }
public static void createMapping(Client client, IndexName indexName, TypeName typeName, XContentBuilder mappingsSources) { client.admin() .indices() .preparePutMapping(indexName.getValue()) .setType(typeName.getValue()) .setSource(mappingsSources) .execute() .actionGet(); }
@Test public void getIndexMailboxNameShouldReturnNewConfiguredValueWhenBoth() throws ConfigurationException { PropertiesConfiguration configuration = new PropertiesConfiguration(); String name = "name"; configuration.addProperty("elasticsearch.index.name", "other"); configuration.addProperty("elasticsearch.index.mailbox.name", name); configuration.addProperty("elasticsearch.hosts", "127.0.0.1"); ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration); assertThat(elasticSearchConfiguration.getIndexMailboxName()) .isEqualTo(new IndexName(name)); }
public static boolean mappingAlreadyExist(Client client, IndexName indexName, TypeName typeName) { return Iterators.toStream(client.admin() .indices() .prepareGetMappings(indexName.getValue()) .execute() .actionGet() .getMappings() .valuesIt()) .anyMatch(mapping -> mapping.keys().contains(typeName.getValue())); }
private void createAliasIfNeeded(Client client, IndexName indexName, AliasName aliasName) { if (!aliasExist(client, aliasName)) { client.admin() .indices() .aliases(new IndicesAliasesRequest() .addAlias(aliasName.getValue(), indexName.getValue())) .actionGet(); } }