查看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操作的输入?
干杯,
尤金。
答案 0 :(得分:0)
基本上,它是因为以Class
作为参数的方法/操作使用Class
的Elasticsearch映射来确定要操作的索引和类型。当您编写要在Elasticsearch中存储其实例的Class
时,您需要为其指定一个@Document
注释,该注释指定将用于保存JSON转换的ES索引和类型Class
- es实例。