diff --git a/src/main/java/org/springframework/data/elasticsearch/annotations/TermVector.java b/src/main/java/org/springframework/data/elasticsearch/annotations/TermVector.java index d5ee7cdd0..6353a756a 100644 --- a/src/main/java/org/springframework/data/elasticsearch/annotations/TermVector.java +++ b/src/main/java/org/springframework/data/elasticsearch/annotations/TermVector.java @@ -20,5 +20,5 @@ * @since 4.0 */ public enum TermVector { - none, no, yes, with_positions, with_offsets, with_positions_offsets, with_positions_payloads, with_positions_offets_payloads + none, no, yes, with_positions, with_offsets, with_positions_offsets, with_positions_payloads, with_positions_offsets_payloads } diff --git a/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderIntegrationTests.java b/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderIntegrationTests.java index ffb412bfd..008d6a942 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderIntegrationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderIntegrationTests.java @@ -45,6 +45,7 @@ import org.elasticsearch.search.suggest.completion.context.ContextMapping; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.annotation.Id; @@ -249,6 +250,16 @@ public void shouldUseCopyTo() { assertThat(fieldLastName.get("copy_to")).isEqualTo(copyToValue); } + @Test // DATAES-991 + @DisplayName("should write correct TermVector values") + void shouldWriteCorrectTermVectorValues() { + + IndexOperations indexOps = operations.indexOps(TermVectorFieldEntity.class); + indexOps.create(); + indexOps.putMapping(); + + } + /** * @author Xiao Yu */ @@ -621,4 +632,19 @@ static class RankFeatureEntity { @Field(type = FieldType.Rank_Features) private Map topics; } + + @Data + @Document(indexName = "termvectors-test") + static class TermVectorFieldEntity { + @Id private String id; + @Field(type = FieldType.Text, termVector = TermVector.no) private String no; + @Field(type = FieldType.Text, termVector = TermVector.yes) private String yes; + @Field(type = FieldType.Text, termVector = TermVector.with_positions) private String with_positions; + @Field(type = FieldType.Text, termVector = TermVector.with_offsets) private String with_offsets; + @Field(type = FieldType.Text, termVector = TermVector.with_positions_offsets) private String with_positions_offsets; + @Field(type = FieldType.Text, + termVector = TermVector.with_positions_payloads) private String with_positions_payloads; + @Field(type = FieldType.Text, + termVector = TermVector.with_positions_offsets_payloads) private String with_positions_offsets_payloads; + } }