关于查询不同业务类型的对象,可以使用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等来保证线程安全。