我正在使用 Jest 来查询 Elasticsearch,到目前为止它一直很棒。Jest 的文档说:
结果可以转换为域对象列表;
...并显示此示例:
SearchResult result = client.execute(search);
List<SearchResult.Hit<Article, Void>> hits = searchResult.getHits(Article.class);
// or
List<Article> articles = result.getSourceAsObjectList(Article.class);
getSourceAsObjectList
已弃用,我正在使用:
List<SearchResult.Hit<ImmutableConceptDocument, Void>> concepts = result.getHits(ImmutableConceptDocument.class);
... 不可变生成类在哪里ImmutableConceptDocument
-否则非常简单的 POJO,其属性命名为我在source
搜索结果下看到的。
但是,当我使用上面的行时,我没有得到源属性映射,我得到了其他细节,比如,score
等等。type
index
我错过了什么?域类是否需要具有特定的 Jest 注释或类似的东西?
我在单元测试中也看不到任何好的例子。这个映射到Object.class
并且没有向我显示映射示例。
这是不可变的类:
@Value.Immutable
public abstract class EsConceptDocument {
public abstract String term();
public abstract Category type();
public abstract List<String> synonyms();
}
...Category
枚举类型在哪里。