Springframework中Elasticsearch属性的相似性

时间:2020-03-10 09:31:58

标签: java spring-boot elasticsearch

我需要在我的elasticsearch索引中使用属性“相似性”,但无法在Springframework的Field批注中找到该属性。看来,Springframework Elasticsearch库没有该功能。我需要使用另一个库还是有简单的方法来做到这一点?您可以推荐图书馆还是其他方式?

1 个答案:

答案 0 :(得分:1)

您可以使用Setting批注,并在单独的文件中定义设置,并使用适当的配置来实现相似性。

要执行此操作,只需将@Setting(settingPath = "/path/to/settings.json")添加到具有@Document批注的索引类中即可。

例如

@Setting(settingPath = "/path/to/settings.json")
@Document(indexName = "indexName")
public class IndexClass {

    @Id
    private String id;
    private String name;

    // getters and setters
}

您的settings.json应该如下所示:

"index": {
  "similarity": {
    "my_similarity": {
      "type": "DFR",
      "basic_model": "g",
      "after_effect": "l",
      "normalization": "h2",
      "normalization.h2.c": "3.0"
    }
  }
}

您可以在documentation中找到更多信息。

相关问题