Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
13.0.10.Final
-
None
Description
There's now way to project the key for Ickle query. You can project the key in Infinispan 9. The SearchManager, QueryBuilder and CacheQuery is removed. It's replaced by Ickle query. But there's no way for it. And here's an example for the infinispan 9.
SearchManager searchManager = distributedDataAPI.getSearchManager(); QueryBuilder queryBuilder = searchManager.buildQueryBuilderForClass(ClientChannelGroupMemberImpl.class).get(); Query query0 = queryBuilder.keyword().onField("belongToClientChannelGroupId").matching(clientChannelGroupId).createQuery(); Query query1 = queryBuilder.keyword().onField("memberId").matching(memberId).createQuery(); Query query = queryBuilder.bool().must(query0).must(query1).createQuery(); CacheQuery<Object[]> cacheQuery = searchManager.getQuery(query, ClientChannelGroupMemberImpl.class); cacheQuery.projection(ProjectionConstants.KEY); List<Object[]> clientChannelGroupMemberKeys = cacheQuery.list(); if (clientChannelGroupMemberKeys.size() == 1) { DataRef<ClientChannelGroupMemberImpl> dataRef = distributedDataAPI.getRef((String) clientChannelGroupMemberKeys.get(0)[0]); distributedDataAPI.remove(dataRef.get()); }