Thank you for the speedy reply.
I found that same information when I dug deeper last night.
And after working thru the annoying IncompatibleClassChangeError issue and
mismatched H2 classes,
I got it working.
For posterity, I ended up with this:
public Set<TKey> getCacheKeys() {
String tableName = valueClass.getSimpleName();
SqlFieldsQuery qry = new SqlFieldsQuery("select _key from " +
tableName);
Collection<List<?>> res = igniteCacheHandle.query(qry).getAll();
Set<TKey> keys = new HashSet<>();
for(List<?> row : res) {
keys.add((TKey)row.get(0));
}
return keys;
}
Using a SqlFieldsQuery.
And I use it like this:
public List<Foo > findMatches(SearchTerms searchTerms) {
Map<String, Foot> map = cache.getAll(cache.getCacheKeys());
return matchingStrategy.match(map, searchTerms);
}
Which is pretty inefficient I think. But I wanted to get something working….
I have a few questions.
1) I have only one REPLICATED cache – out of many caches -- that I need to
do a Query against.
The rest are all used as simple KV stores.
Have I introduced an inefficiency by introducing the ignite-indexing
module??
Is there a way to use it ONLY for 1 cache??
Or is indexing always present, and I have just now become aware of it??
(This seems unlikely since the H2 DB issue should have bitten me sooner??)
2) Would it be more efficient to use a ScanQuery??
Or is the SqlFieldsQuery roughly equivalent??
NOTE: I assume to do this whole thing more efficiently I would use a
ScanQuery with a Filter??
Which would eliminate the need for the interim copies.
3) I am using: igniteConfig.setMarshaller(new BinaryMarshaller()) --
paired with: cache.withKeepBinary()
Do I need to do anything special in this case??
Presently it seems not??
I am using only this: igniteCacheConfig.setIndexedTypes(keyClass,
valueClass);
And it all is working as expected.
Still. If I used IgniteBiPredictae would it be more efficient ??
Thanks agaian for your help.
Cheers,
-- Chris
--
View this message in context:
http://apache-ignite-users.70518.x6.nabble.com/getAsMap-tp16242p16259.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.