Jest ElasticSearch 搜索 API 命中映射

Jest ElasticSearch Search API Hits mapping

我对弹性搜索非常陌生

我正在尝试理解以下代码:

List<Hit<Talk, Void>> hits = result.getHits(Talk.class);
        for (Hit<Talk, Void> hit: hits) {
            Talk talk = hit.source;
            log.info(talk.getTitle());
        }

直接取自:https://www.elastic.co/blog/found-java-clients-for-elasticsearch

我的问题是,Java 如何知道将哪个字段映射到哪个变量。

本质上,Java怎么知道,说把属性"title"匹配到Talkclass的成员变量"title"。

干杯

在页面中它提到 Talk class 是一个 Bean。 Beans 工具 Serializable。当 result.getHits 被调用时,请注意 Talk.class 对象是如何传递到方法中的。这意味着您基本上是将命中反序列化为 Talk 个实例。通过 JEST Hit class 的结构,这就是从 Elastisearch 响应反序列化后访问 Talk 实例的方式。

有关 Bean 的更多信息,请参阅此处:What is a JavaBean exactly?