关于#java#的问题:Es存储不同业务类型的对象,同在一个索引库通过不同的业务类型字段去区分

Es存储不同业务类型的对象,同在一个索引库通过不同的业务类型字段去区分。现在要通过不同业务类型取查找相同业务类型下的所有结果集,Java实现。

img

关于查询不同业务类型的对象,可以使用ES的term查询,如下:

QueryBuilder qb = QueryBuilders.termQuery("businessType", "szpd_scene_publish");
SearchResponse response = client.prepareSearch("indexName").setTypes("typeName").setQuery(qb).get();

这样就可以查询出businessType为szpd_scene_publish的所有结果集。

另外,对于java中的线程安全问题,可以使用Java自带的synchronized关键字来保证线程安全,例如在setNRIC和getNRIC方法中加入synchronized关键字。

另外还可以使用java.util.concurrent包中的类,如ReentrantLock等来保证线程安全。