Skip to content

Commit 7781621

Browse files
committed
Upgrade ES 2.0
1 parent c6f9cca commit 7781621

23 files changed

+175
-85
lines changed

elasticsearch-annotations/src/main/java/org/elasticsearch/annotation/query/TermsFacet.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import java.lang.annotation.RetentionPolicy;
66
import java.lang.annotation.Target;
77

8-
import org.elasticsearch.search.facet.terms.TermsFacet.ComparatorType;
8+
//import org.elasticsearch.search.facet.terms.TermsFacet.ComparatorType;
99

1010
/**
1111
* <p>
@@ -47,7 +47,7 @@
4747
*
4848
* @return The control on how the term facets are ordered.
4949
*/
50-
ComparatorType comparatorType() default ComparatorType.COUNT;
50+
// ComparatorType comparatorType() default ComparatorType.COUNT;
5151

5252
/**
5353
* Allow to get all the terms in the terms facet, ones that do not match a hit, will have a count of 0. Note, this

elasticsearch-mapping/pom.xml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,32 @@
1010
<artifactId>elasticsearch-mapping</artifactId>
1111
<name>Elastic search mapping.</name>
1212
<description>Object mapping for elastic search.</description>
13-
13+
1414
<dependencies>
1515
<dependency>
1616
<groupId>org.elasticsearch</groupId>
1717
<artifactId>elasticsearch</artifactId>
1818
</dependency>
19+
<dependency>
20+
<groupId>net.java.dev.jna</groupId>
21+
<artifactId>jna</artifactId>
22+
</dependency>
1923
<dependency>
2024
<groupId>com.fasterxml.jackson.core</groupId>
2125
<artifactId>jackson-databind</artifactId>
2226
</dependency>
27+
<dependency>
28+
<groupId>com.fasterxml.jackson.dataformat</groupId>
29+
<artifactId>jackson-dataformat-smile</artifactId>
30+
</dependency>
31+
<dependency>
32+
<groupId>com.fasterxml.jackson.dataformat</groupId>
33+
<artifactId>jackson-dataformat-cbor</artifactId>
34+
</dependency>
35+
<dependency>
36+
<groupId>com.fasterxml.jackson.dataformat</groupId>
37+
<artifactId>jackson-dataformat-yaml</artifactId>
38+
</dependency>
2339
<dependency>
2440
<groupId>org.springframework</groupId>
2541
<artifactId>spring-context</artifactId>
@@ -40,5 +56,15 @@
4056
<version>${spring.version}</version>
4157
<scope>test</scope>
4258
</dependency>
59+
<dependency>
60+
<groupId>org.apache.commons</groupId>
61+
<artifactId>commons-lang3</artifactId>
62+
<version>${commons-lang.version}</version>
63+
</dependency>
64+
<dependency>
65+
<groupId>commons-beanutils</groupId>
66+
<artifactId>commons-beanutils</artifactId>
67+
<version>${commons-beanutils.version}</version>
68+
</dependency>
4369
</dependencies>
4470
</project>

elasticsearch-mapping/src/main/java/org/elasticsearch/mapping/ElasticSearchClient.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
import javax.annotation.PostConstruct;
66
import javax.annotation.PreDestroy;
77

8+
import org.elasticsearch.action.admin.cluster.health.ClusterHealthAction;
89
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequestBuilder;
910
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
1011
import org.elasticsearch.client.Client;
1112
import org.elasticsearch.client.transport.TransportClient;
1213
import org.elasticsearch.common.logging.ESLogger;
1314
import org.elasticsearch.common.logging.Loggers;
14-
import org.elasticsearch.common.settings.ImmutableSettings;
1515
import org.elasticsearch.common.settings.Settings;
1616
import org.elasticsearch.common.transport.InetSocketTransportAddress;
1717
import org.elasticsearch.common.unit.TimeValue;
@@ -44,10 +44,10 @@ public class ElasticSearchClient {
4444
public void initialize() {
4545
if (this.isClient && this.isTransportClient) {
4646
// when these both option are set, we use a transport client
47-
Settings settings = ImmutableSettings.settingsBuilder()
47+
Settings settings = Settings.settingsBuilder()
4848
.put("cluster.name", this.clusterName)
4949
.build();
50-
TransportClient transportClient = new TransportClient(settings);
50+
TransportClient transportClient = TransportClient.builder().settings(settings).build();
5151
for (InetSocketTransportAddress add : adresses) {
5252
transportClient.addTransportAddress(add);
5353
}
@@ -91,7 +91,7 @@ public Client getClient() {
9191
* @return A {@link ClusterHealthResponse} that contains the cluster health after waiting maximum 5 minutes for green status.
9292
*/
9393
public ClusterHealthResponse waitForGreenStatus(String... indices) {
94-
ClusterHealthRequestBuilder builder = new ClusterHealthRequestBuilder(this.client.admin().cluster());
94+
ClusterHealthRequestBuilder builder = new ClusterHealthRequestBuilder(this.client.admin().cluster(), ClusterHealthAction.INSTANCE);
9595
builder.setIndices(indices);
9696
builder.setWaitForGreenStatus();
9797
builder.setTimeout(TimeValue.timeValueSeconds(30));

elasticsearch-mapping/src/main/java/org/elasticsearch/mapping/FieldsMappingBuilder.java

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@
44
import java.beans.Introspector;
55
import java.beans.PropertyDescriptor;
66
import java.lang.annotation.Annotation;
7+
import java.lang.reflect.InvocationTargetException;
78
import java.lang.reflect.Field;
89
import java.lang.reflect.Modifier;
910
import java.util.*;
1011

12+
import org.apache.commons.beanutils.PropertyUtils;
13+
1114
import org.elasticsearch.annotation.*;
1215
import org.elasticsearch.annotation.query.*;
1316
import org.elasticsearch.common.logging.ESLogger;
@@ -19,7 +22,6 @@
1922
/**
2023
* Process fields in a class to fill-in the properties entry in the class definition map.
2124
*
22-
* @author luc boutier
2325
*/
2426
public class FieldsMappingBuilder {
2527
private static final ESLogger LOGGER = Loggers.getLogger(MappingBuilder.class);
@@ -64,11 +66,11 @@ private void parseFieldMappings(Class<?> clazz, Map<String, Object> classDefinit
6466

6567
if (pathPrefix == null || pathPrefix.isEmpty()) {
6668
// Id, routing and boost are valid only for root object.
67-
processIdAnnotation(classDefinitionMap, esFieldName, indexable);
69+
//processIdAnnotation(classDefinitionMap, esFieldName, indexable);
6870
processRoutingAnnotation(classDefinitionMap, esFieldName, indexable);
6971
processBoostAnnotation(classDefinitionMap, esFieldName, indexable);
7072
// Timestamp field annotation
71-
processTimeStampAnnotation(classDefinitionMap, esFieldName, indexable);
73+
//processTimeStampAnnotation(classDefinitionMap, esFieldName, indexable);
7274
}
7375

7476
processFetchContextAnnotation(fetchContexts, esFieldName, indexable);
@@ -453,4 +455,22 @@ private Map<String, PropertyDescriptor> getValidPropertyDescriptorMap(Class<?> c
453455

454456
return pdMap;
455457
}
458+
459+
@SuppressWarnings("unchecked")
460+
public String getIdValue (Object obj) throws IntrospectionException, IllegalAccessException, InvocationTargetException,
461+
NoSuchMethodException {
462+
String value = null;
463+
Class<?> clazz = obj.getClass();
464+
List<Indexable> indexables = getIndexables(clazz);
465+
466+
for (Indexable indexable : indexables) {
467+
Id id = indexable.getAnnotation(Id.class);
468+
if (id != null) {
469+
String name = indexable.getName();
470+
value = (String)(PropertyUtils.getSimpleProperty(obj, name));
471+
}
472+
}
473+
return value;
474+
}
475+
456476
}

elasticsearch-mapping/src/main/java/org/elasticsearch/mapping/IFilterBuilderHelper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.elasticsearch.mapping;
22

3-
import org.elasticsearch.index.query.FilterBuilder;
43
import org.elasticsearch.index.query.QueryBuilder;
54

65
public interface IFilterBuilderHelper {
@@ -33,7 +32,7 @@ public interface IFilterBuilderHelper {
3332
* @param value The value as String.
3433
* @return A filter builder.
3534
*/
36-
FilterBuilder buildFilter(String key, String... value);
35+
QueryBuilder buildFilter(String key, String... value);
3736

3837
/**
3938
* Build a query builder.

elasticsearch-mapping/src/main/java/org/elasticsearch/mapping/MappingBuilder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import org.elasticsearch.annotation.ESObject;
1010
import org.elasticsearch.annotation.IndexAnalyserDefinition;
1111
import org.elasticsearch.annotation.TypeName;
12-
import org.elasticsearch.common.collect.Maps;
13-
import org.elasticsearch.common.lang3.ArrayUtils;
12+
import com.google.common.collect.Maps;
13+
import org.apache.commons.lang3.ArrayUtils;
1414
import org.elasticsearch.util.AnnotationScanner;
1515
import org.elasticsearch.util.MapUtil;
1616
import org.springframework.context.annotation.Scope;
@@ -198,7 +198,7 @@ public void parseClassAnnotations(Class<?> clazz, String pathPrefix)
198198
classDefinitionMap.put("_all", MapUtil.getMap("enabled", esObject.all()));
199199
}
200200
classDefinitionMap.put("_source", MapUtil.getMap("enabled", esObject.source()));
201-
classDefinitionMap.put("_type", MapUtil.getMap(new String[] { "store", "index" }, new Object[] { esObject.store(), esObject.index() }));
201+
//classDefinitionMap.put("_type", MapUtil.getMap(new String[] { "store", "index" }, new Object[] { esObject.store(), esObject.index() }));
202202

203203
this.fieldsMappingBuilder.parseFieldMappings(clazz, classDefinitionMap, facetFields, filteredFields, fetchContexts, pathPrefix, null);
204204

elasticsearch-mapping/src/main/java/org/elasticsearch/mapping/QueryHelper.java

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313
import org.elasticsearch.action.search.SearchRequestBuilder;
1414
import org.elasticsearch.action.search.SearchResponse;
1515
import org.elasticsearch.action.search.SearchType;
16-
import org.elasticsearch.common.collect.Lists;
17-
import org.elasticsearch.common.collect.Maps;
18-
import org.elasticsearch.common.collect.Sets;
16+
import com.google.common.collect.Lists;
17+
import com.google.common.collect.Maps;
18+
import com.google.common.collect.Sets;
1919
import org.elasticsearch.common.logging.ESLogger;
2020
import org.elasticsearch.common.logging.Loggers;
21-
import org.elasticsearch.index.query.FilterBuilder;
22-
import org.elasticsearch.index.query.FilterBuilders;
21+
//import org.elasticsearch.index.query.FilterBuilder;
22+
//import org.elasticsearch.index.query.FilterBuilders;
2323
import org.elasticsearch.index.query.QueryBuilder;
2424
import org.elasticsearch.index.query.QueryBuilders;
2525
import org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders;
@@ -135,7 +135,7 @@ public interface IFilterableQueryBuilderHelper<T extends IFilterableQueryBuilder
135135
* @param customFilter user provided filters.
136136
* @return current instance.
137137
*/
138-
T filters(FilterBuilder... customFilter);
138+
T filters(QueryBuilder... customFilter);
139139

140140
/**
141141
* Add filters to the current query.
@@ -144,7 +144,7 @@ public interface IFilterableQueryBuilderHelper<T extends IFilterableQueryBuilder
144144
* @param customFilters user provided filters to add (using and clause) to the annotation based filters.
145145
* @return current instance.
146146
*/
147-
T filters(Map<String, String[]> filters, FilterBuilder... customFilters);
147+
T filters(Map<String, String[]> filters, QueryBuilder... customFilters);
148148

149149
/**
150150
* Add filters to the current query.
@@ -154,7 +154,7 @@ public interface IFilterableQueryBuilderHelper<T extends IFilterableQueryBuilder
154154
* @param customFilters user provided filters to add (using and clause) to the annotation based filters.
155155
* @return current instance.
156156
*/
157-
T filters(Map<String, String[]> filters, Map<String, FilterValuesStrategy> filterStrategies, FilterBuilder... customFilters);
157+
T filters(Map<String, String[]> filters, Map<String, FilterValuesStrategy> filterStrategies, QueryBuilder... customFilters);
158158

159159
/**
160160
*
@@ -333,18 +333,18 @@ public QueryBuilderHelper prepareSearch(String... indices) {
333333
}
334334

335335
@Override
336-
public QueryBuilderHelper filters(FilterBuilder... customFilter) {
336+
public QueryBuilderHelper filters(QueryBuilder... customFilter) {
337337
this.queryBuilder = addFilters(queryBuilder, Lists.newArrayList(customFilter));
338338
return this;
339339
}
340340

341341
@Override
342-
public QueryBuilderHelper filters(Map<String, String[]> filters, FilterBuilder... customFilters) {
342+
public QueryBuilderHelper filters(Map<String, String[]> filters, QueryBuilder... customFilters) {
343343
return this.filters(filters, null, customFilters);
344344
}
345345

346346
@Override
347-
public QueryBuilderHelper filters(Map<String, String[]> filters, Map<String, FilterValuesStrategy> filterStrategies, FilterBuilder... customFilters) {
347+
public QueryBuilderHelper filters(Map<String, String[]> filters, Map<String, FilterValuesStrategy> filterStrategies, QueryBuilder... customFilters) {
348348
this.filters = filters;
349349
if (classes != null && classes.length > 0) {
350350
QueryBuilder filteredQueryBuilder = addFilters(this.queryBuilder, classes[0], filters, filterStrategies, customFilters);
@@ -359,13 +359,13 @@ public QueryBuilderHelper filters(Map<String, String[]> filters, Map<String, Fil
359359
}
360360

361361
private QueryBuilder addFilters(QueryBuilder query, Class<?> clazz, Map<String, String[]> filters, Map<String, FilterValuesStrategy> filterStrategies,
362-
FilterBuilder... customFilters) {
362+
QueryBuilder... customFilters) {
363363
if (clazz == null) {
364364
return query;
365365
}
366-
final List<FilterBuilder> esFilters = buildFilters(clazz.getName(), filters, filterStrategies);
366+
final List<QueryBuilder> esFilters = buildFilters(clazz.getName(), filters, filterStrategies);
367367
if (customFilters != null) {
368-
for (FilterBuilder customFilter : customFilters) {
368+
for (QueryBuilder customFilter : customFilters) {
369369
if (customFilter != null) {
370370
esFilters.add(customFilter);
371371
}
@@ -375,8 +375,8 @@ private QueryBuilder addFilters(QueryBuilder query, Class<?> clazz, Map<String,
375375
return addFilters(query, esFilters);
376376
}
377377

378-
private QueryBuilder addFilters(QueryBuilder query, final List<FilterBuilder> esFilters) {
379-
FilterBuilder filter = null;
378+
private QueryBuilder addFilters(QueryBuilder query, final List<QueryBuilder> esFilters) {
379+
QueryBuilder filter = null;
380380
if (esFilters.size() > 0) {
381381
filter = getAndFilter(esFilters);
382382
if (filter != null) {
@@ -386,8 +386,8 @@ private QueryBuilder addFilters(QueryBuilder query, final List<FilterBuilder> es
386386
return query;
387387
}
388388

389-
private List<FilterBuilder> buildFilters(String className, Map<String, String[]> filters, Map<String, FilterValuesStrategy> filterStrategies) {
390-
List<FilterBuilder> filterBuilders = new ArrayList<FilterBuilder>();
389+
private List<QueryBuilder> buildFilters(String className, Map<String, String[]> filters, Map<String, FilterValuesStrategy> filterStrategies) {
390+
List<QueryBuilder> filterBuilders = new ArrayList<QueryBuilder>();
391391

392392
if (filters == null) {
393393
return filterBuilders;
@@ -397,7 +397,7 @@ private List<FilterBuilder> buildFilters(String className, Map<String, String[]>
397397
filterStrategies = Maps.newHashMap();
398398
}
399399

400-
Map<String, List<FilterBuilder>> nestedFilterBuilders = new HashMap<String, List<FilterBuilder>>();
400+
Map<String, List<QueryBuilder>> nestedFilterBuilders = new HashMap<String, List<QueryBuilder>>();
401401
List<IFilterBuilderHelper> filterBuilderHelpers = mappingBuilder.getFilters(className);
402402
if (filterBuilderHelpers == null) {
403403
return filterBuilders;
@@ -407,9 +407,9 @@ private List<FilterBuilder> buildFilters(String className, Map<String, String[]>
407407
String esFieldName = filterBuilderHelper.getEsFieldName();
408408
if (filters.containsKey(esFieldName)) {
409409
if (filterBuilderHelper.isNested()) {
410-
List<FilterBuilder> nestedFilters = nestedFilterBuilders.get(filterBuilderHelper.getNestedPath());
410+
List<QueryBuilder> nestedFilters = nestedFilterBuilders.get(filterBuilderHelper.getNestedPath());
411411
if (nestedFilters == null) {
412-
nestedFilters = new ArrayList<FilterBuilder>(3);
412+
nestedFilters = new ArrayList<QueryBuilder>(3);
413413
nestedFilterBuilders.put(filterBuilderHelper.getNestedPath(), nestedFilters);
414414
}
415415
nestedFilters.addAll(buildFilters(filterBuilderHelper, esFieldName, filters.get(esFieldName), filterStrategies.get(esFieldName)));
@@ -419,29 +419,29 @@ private List<FilterBuilder> buildFilters(String className, Map<String, String[]>
419419
}
420420
}
421421

422-
for (Entry<String, List<FilterBuilder>> nestedFilters : nestedFilterBuilders.entrySet()) {
423-
filterBuilders.add(FilterBuilders.nestedFilter(nestedFilters.getKey(), getAndFilter(nestedFilters.getValue())));
422+
for (Entry<String, List<QueryBuilder>> nestedFilters : nestedFilterBuilders.entrySet()) {
423+
filterBuilders.add(QueryBuilders.nestedQuery(nestedFilters.getKey(), getAndFilter(nestedFilters.getValue())));
424424
}
425425

426426
return filterBuilders;
427427
}
428428

429-
private List<FilterBuilder> buildFilters(IFilterBuilderHelper filterBuilderHelper, String esFieldName, String[] values, FilterValuesStrategy strategy) {
429+
private List<QueryBuilder> buildFilters(IFilterBuilderHelper filterBuilderHelper, String esFieldName, String[] values, FilterValuesStrategy strategy) {
430430
if (strategy == null || FilterValuesStrategy.OR.equals(strategy)) {
431431
return Lists.newArrayList(filterBuilderHelper.buildFilter(esFieldName, values));
432432
}
433-
List<FilterBuilder> valuesFilters = Lists.newArrayList();
433+
List<QueryBuilder> valuesFilters = Lists.newArrayList();
434434
for (String value : values) {
435435
valuesFilters.add(filterBuilderHelper.buildFilter(esFieldName, value));
436436
}
437437
return valuesFilters;
438438
}
439439

440-
private FilterBuilder getAndFilter(List<FilterBuilder> filters) {
440+
private QueryBuilder getAndFilter(List<QueryBuilder> filters) {
441441
if (filters.size() == 1) {
442442
return filters.get(0);
443443
}
444-
return FilterBuilders.andFilter(filters.toArray(new FilterBuilder[filters.size()]));
444+
return QueryBuilders.andQuery(filters.toArray(new QueryBuilder[filters.size()]));
445445
}
446446

447447
@Override

0 commit comments

Comments
 (0)