SearchRequest searchRequest = SearchRequest.of(s -> s.index("products").query(q -> q.multiMatch(
t -> t .fields("description","name").query(text)))
);
SearchResponse searchResponse = elasticsearchClient.search(searchRequest, Product.class);
List<Hit> hits = searchResponse.hits().hits();
List<Product> products = new ArrayList<>();
for(Hit object : hits){
System.out.print(((Product) object.source()));
System.out.println(products.toString());
products.add((Product) object.source());
}
return products;
我想打印“产品”在我的控制台
我试过了。系统输出打印输入(产品输出字符串());但它只显示了一个参考编号@6ae9453[]我想显示“产品”内的内容
2条答案
按热度按时间6gpjuf901#
解决这个问题的一个方法是在
Product
类中添加一个toString()
方法,如果Product
有两个属性,title
和price
,那么toString()
可能类似于许多IDE都支持生成
toString()
方法。请参见f.x. https://www.jetbrains.com/help/idea/generate-tostring-dialog.htmlk97glaaz2#
使用
Arrays.toString(products)
将数组内容转换为String
https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#toString(java.lang.Object[])