mapping - spring-data-elasticsearch - @Field/FieldIndex.not_analyzed 被忽略

标签 mapping spring-data spring-annotations spring-data-elasticsearch

我正在使用 spring-data-elasticsearch 1.1.2。我正在尝试使用 java 注释来指定不应分析字段。

我使用以下注释:
@Field(index = FieldIndex.not_analyzed)
私有(private)字符串类别;

生成的映射不包括该字段的“index”:“not_analyzed”:

    "properties" : {
      "category" : {
        "type" : "string"
      },
      ...

我没有运气找到有关如何执行此操作的有用文档,但看起来它应该可以工作。

它应该工作吗?我在哪里可以找到更多信息?如何最好地调试?

谢谢你。

更新:最新的 1.2.0 版本也存在问题。

最佳答案

类似的问题在这里问:Spring Data Elasticsearch's @Field annotation not working

您必须在应用程序启动时将映射显式放入集群中。

elasticsearchTemplate.putMapping(YourDocument.class);

您的节点/集群不知道您要放入的文档,它第一次看到它并且没有人告诉他任何有关它的信息。 Spring 仅扫描包中的组件、存储库等,而不扫描 @Documents。我不确定,但我认为映射不是集群配置的一部分,因此必须在集群启动后指定映射。

关于mapping - spring-data-elasticsearch - @Field/FieldIndex.not_analyzed 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30384316/

相关文章:

mapping - vim 重新映射 hjkl

java - 带有 Couchbase 服务的 Spring WebMVC - 没有可用的名为 'couchbaseRepositoryOperationsMapping' 的 bean

查询方法中的Spring Data可选参数

java - Maven: 包 io.swagger.annotations 不存在

java - 是否可以通过Spring组件扫描来声明复杂的类依赖?

math - 将球体映射到立方体

java.sql.SQLSyntaxErrorException : Unknown column 'column_name' in 'field list' - mappings in entity are the same in as database

c++ - 以数学方式旋转有序数字数组

java - Spring Boot中如何获取系统属性值

java - 带有动态参数的自定义注释