0

我对弹性搜索非常陌生

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

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”匹配到 Talk 类的成员变量“title”。

干杯

4

1 回答 1

0

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

有关 Bean 的更多信息,请参见此处:JavaBean 到底是什么?

于 2017-06-17T08:03:27.887 回答