【问题标题】:spring-data-elasticsearch - @Field / FieldIndex.not_analyzed ignoredspring-data-elasticsearch - @Field / FieldIndex.not_analyzed 被忽略
【发布时间】:2015-08-03 17:53:39
【问题描述】:

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

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

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

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

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

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

谢谢。

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

【问题讨论】:

  • 您能找到解决此问题的方法吗?我面临着完全相同的情况......
  • 是的。原来我对 spring data elasticsearch 更新现有映射的能力有一些误解。这已通过删除并重新创建索引来解决。

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


【解决方案1】:

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

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

elasticsearchTemplate.putMapping(YourDocument.class);

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

【讨论】:

    猜你喜欢
    • 2015-11-07
    • 1970-01-01
    • 2017-12-25
    • 2019-07-02
    • 2014-01-20
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 2015-11-13
    相关资源
    最近更新 更多