DATAES-639 - Polishing.

This commit is contained in:
P.J. Meisch 2019-08-17 20:20:55 +02:00 committed by Peter-Josef Meisch
parent a9c3058bef
commit 165e02d6e7
2 changed files with 17 additions and 7 deletions

View File

@ -15,8 +15,6 @@
*/ */
package org.springframework.data.elasticsearch.annotations; package org.springframework.data.elasticsearch.annotations;
import org.springframework.core.annotation.AliasFor;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited; import java.lang.annotation.Inherited;
@ -24,6 +22,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import org.springframework.core.annotation.AliasFor;
/** /**
* @author Rizwan Idrees * @author Rizwan Idrees
* @author Mohsin Husen * @author Mohsin Husen
@ -42,6 +42,7 @@ public @interface Field {
/** /**
* Alias for {@link #name}. * Alias for {@link #name}.
*
* @since 3.2 * @since 3.2
*/ */
@AliasFor("name") @AliasFor("name")
@ -49,7 +50,9 @@ public @interface Field {
/** /**
* The <em>name</em> to be used to store the field inside the document. * The <em>name</em> to be used to store the field inside the document.
* <p>If not set, the name of the annotated property is used. * <p>5
* If not set, the name of the annotated property is used.
*
* @since 3.2 * @since 3.2
*/ */
@AliasFor("value") @AliasFor("value")

View File

@ -27,7 +27,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.common.xcontent.XContentType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.ClassPathResource;
import org.springframework.data.annotation.Transient; import org.springframework.data.annotation.Transient;
import org.springframework.data.elasticsearch.annotations.CompletionContext; import org.springframework.data.elasticsearch.annotations.CompletionContext;
@ -364,7 +363,7 @@ class MappingBuilder {
searchAnalyzer = fieldAnnotation.searchAnalyzer(); searchAnalyzer = fieldAnnotation.searchAnalyzer();
normalizer = fieldAnnotation.normalizer(); normalizer = fieldAnnotation.normalizer();
copyTo = fieldAnnotation.copyTo(); copyTo = fieldAnnotation.copyTo();
ignoreAbove = fieldAnnotation.ignoreAbove(); ignoreAbove = fieldAnnotation.ignoreAbove() >= 0 ? fieldAnnotation.ignoreAbove() : null;
} else if (annotation instanceof InnerField) { } else if (annotation instanceof InnerField) {
// @InnerField // @InnerField
InnerField fieldAnnotation = (InnerField) annotation; InnerField fieldAnnotation = (InnerField) annotation;
@ -377,7 +376,7 @@ class MappingBuilder {
analyzer = fieldAnnotation.analyzer(); analyzer = fieldAnnotation.analyzer();
searchAnalyzer = fieldAnnotation.searchAnalyzer(); searchAnalyzer = fieldAnnotation.searchAnalyzer();
normalizer = fieldAnnotation.normalizer(); normalizer = fieldAnnotation.normalizer();
ignoreAbove = fieldAnnotation.ignoreAbove(); ignoreAbove = fieldAnnotation.ignoreAbove() >= 0 ? fieldAnnotation.ignoreAbove() : null;
} else { } else {
throw new IllegalArgumentException("annotation must be an instance of @Field or @InnerField"); throw new IllegalArgumentException("annotation must be an instance of @Field or @InnerField");
} }
@ -385,9 +384,11 @@ class MappingBuilder {
if (!nestedOrObjectField) { if (!nestedOrObjectField) {
builder.field(FIELD_STORE, store); builder.field(FIELD_STORE, store);
} }
if (fielddata) { if (fielddata) {
builder.field(FIELD_DATA, fielddata); builder.field(FIELD_DATA, fielddata);
} }
if (type != FieldType.Auto) { if (type != FieldType.Auto) {
builder.field(FIELD_TYPE, type.name().toLowerCase()); builder.field(FIELD_TYPE, type.name().toLowerCase());
@ -395,22 +396,28 @@ class MappingBuilder {
builder.field(FIELD_FORMAT, dateFormat == DateFormat.custom ? datePattern : dateFormat.toString()); builder.field(FIELD_FORMAT, dateFormat == DateFormat.custom ? datePattern : dateFormat.toString());
} }
} }
if (!index) { if (!index) {
builder.field(FIELD_INDEX, index); builder.field(FIELD_INDEX, index);
} }
if (!StringUtils.isEmpty(analyzer)) { if (!StringUtils.isEmpty(analyzer)) {
builder.field(FIELD_INDEX_ANALYZER, analyzer); builder.field(FIELD_INDEX_ANALYZER, analyzer);
} }
if (!StringUtils.isEmpty(searchAnalyzer)) { if (!StringUtils.isEmpty(searchAnalyzer)) {
builder.field(FIELD_SEARCH_ANALYZER, searchAnalyzer); builder.field(FIELD_SEARCH_ANALYZER, searchAnalyzer);
} }
if (!StringUtils.isEmpty(normalizer)) { if (!StringUtils.isEmpty(normalizer)) {
builder.field(FIELD_NORMALIZER, normalizer); builder.field(FIELD_NORMALIZER, normalizer);
} }
if (copyTo != null && copyTo.length > 0) { if (copyTo != null && copyTo.length > 0) {
builder.field(FIELD_COPY_TO, copyTo); builder.field(FIELD_COPY_TO, copyTo);
} }
if (ignoreAbove != -1) {
if (ignoreAbove != null) {
Assert.isTrue(ignoreAbove >= 0, "ignore_above must be a positive value"); Assert.isTrue(ignoreAbove >= 0, "ignore_above must be a positive value");
builder.field(FIELD_IGNORE_ABOVE, ignoreAbove); builder.field(FIELD_IGNORE_ABOVE, ignoreAbove);
} }