/** * Perform filter query into one ES index and type to get records with any value stored in one * field. * * @param indexName to search in * @param indexType to search * @param fieldName name of field to search for any value in it * @return */ public SearchResponse performQueryByOneFieldAnyValue( String indexName, String indexType, String fieldName) throws SearchIndexMissingException { try { SearchRequestBuilder searchBuilder = getClient().prepareSearch(indexName).setTypes(indexType); searchBuilder.setFilter(FilterBuilders.notFilter(FilterBuilders.missingFilter(fieldName))); searchBuilder.setQuery(QueryBuilders.matchAllQuery()); final SearchResponse response = searchBuilder.execute().actionGet(); return response; } catch (IndexMissingException e) { log.log(Level.WARNING, e.getMessage()); throw new SearchIndexMissingException(e); } }
@Test public void testMultipleAliasesPrecedence() throws Exception { client() .admin() .indices() .preparePutTemplate("template1") .setTemplate("*") .setOrder(0) .addAlias(new Alias("alias1")) .addAlias(new Alias("{index}-alias")) .addAlias(new Alias("alias3").filter(FilterBuilders.missingFilter("test"))) .addAlias(new Alias("alias4")) .get(); client() .admin() .indices() .preparePutTemplate("template2") .setTemplate("te*") .setOrder(1) .addAlias(new Alias("alias1").routing("test")) .addAlias(new Alias("alias3")) .get(); assertAcked( prepareCreate("test").addAlias(new Alias("test-alias").searchRouting("test-routing"))); ensureGreen(); GetAliasesResponse getAliasesResponse = client().admin().indices().prepareGetAliases().addIndices("test").get(); assertThat(getAliasesResponse.getAliases().get("test").size(), equalTo(4)); for (AliasMetaData aliasMetaData : getAliasesResponse.getAliases().get("test")) { assertThat( aliasMetaData.alias(), anyOf(equalTo("alias1"), equalTo("test-alias"), equalTo("alias3"), equalTo("alias4"))); if ("alias1".equals(aliasMetaData.alias())) { assertThat(aliasMetaData.indexRouting(), equalTo("test")); assertThat(aliasMetaData.searchRouting(), equalTo("test")); } else if ("alias3".equals(aliasMetaData.alias())) { assertThat(aliasMetaData.filter(), nullValue()); } else if ("test-alias".equals(aliasMetaData.alias())) { assertThat(aliasMetaData.indexRouting(), nullValue()); assertThat(aliasMetaData.searchRouting(), equalTo("test-routing")); } } }
/** --- Internal Methods --- */ FilterBuilder getCurrentFilter() { return FilterBuilders.missingFilter("reformed"); }