【问题标题】:ElasticsearchTemplate - why implicit indexName for some operations and explicit for othersElasticsearchTemplate - 为什么某些操作是隐式 indexName 而其他操作是显式的
【发布时间】:2014-09-11 22:57:36
【问题描述】:

查看 ElasticsearchTemplate 的 API,一些操作显式取 indexName - 例如:
public String delete(String indexName, String type, String id) {...} 其他 API 操作没有 - 例如,queryForObject
public <T> T queryForObject(GetQuery query, Class<T> clazz) {
这意味着 - 使用 queryForObject - 无法针对特定索引运行该操作

我的问题是 - 首先 - 我错过了什么吗?如果不是 - 索引名称不是所有 API 操作的输入是否有原因? 干杯,
欧根。

【问题讨论】:

  • 你的问题不是很清楚,能不能努力重写一下,让我们帮忙看看!
  • 我在我的问题中添加了一个示例 - 希望现在更清楚,但如果没有,请告诉我,我会进一步讨论这个问题。干杯。

标签: elasticsearch spring-data spring-data-elasticsearch


【解决方案1】:

基本上,这是因为将Class 作为参数的方法/操作使用Class 的Elasticsearch 映射来确定要操作的索引和类型。当您编写您的 Class 其实例将存储在 Elasticsearch 中时,您给它一个 @Document 注释,它指定将保存 Class-es 实例的 JSON 转换的 ES 索引和类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 2015-11-09
    • 2015-03-08
    • 1970-01-01
    • 2016-03-20
    • 2017-07-26
    相关资源
    最近更新 更多