Hello team, I am *evaluating usage of Geode (1.12) with storing JSON documents and querying the same*. I am able to store the json records successfully in geode but seeking guidance on how to query them. More details on code and sample json is,
*Sample client-code* import org.apache.geode.cache.client.ClientCache; import org.apache.geode.cache.client.ClientCacheFactory; import org.apache.geode.cache.client.ClientRegionShortcut; import org.apache.geode.pdx.JSONFormatter; import org.apache.geode.pdx.PdxInstance; public class MyTest { *//NOTE: Below is truncated json, single json document can max contain an array of col1...col30 (30 diff attributes) within data. * public final static String jsonDoc_2 = "{" + "\"data\":[{" + "\"col1\": {" + "\"k11\": \"aaa\"," + "\"k12\":true," + "\"k13\": 1111," + "\"k14\": \"2020-12-31:00:00:00\"" + "}," + "\"col2\":[{" + "\"k21\": \"222222\"," + "\"k22\": true" + "}]" + "}]" + "}"; * //NOTE: Col1....col30 are mix of JSONObject ({}) and JSONArray ([]) as shown above in jsonDoc_2;* public static void main(String[] args){ //create client-cache ClientCache cache = new ClientCacheFactory().addPoolLocator(LOCATOR_HOST, PORT).create(); Region<String, PdxInstance> region = cache.<String, PdxInstance>createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY) .create(REGION_NAME); //store json document region.put("key", JSONFormatter.fromJSON(jsonDoc_2)); //How to query json document like, // 1. select col2.k21, col1, col20 from /REGION_NAME where data.col2.k21 = '222222' OR data.col2.k21 = '333333' // 2. select col2.k21, col1.k11, col1 from /REGION_NAME where data.col1.k11 in ('aaa', 'xxx', 'yyy') } } *Server: Region-creation* gfsh> create region --name=REGION_NAME --type=PARTITION --redundant-copies=1 --total-num-buckets=61 *Setup: Distributed cluster of 3 nodes * *My Observations/Problems* - Put operation takes excessive time: region.put("key", JSONFormatter.fromJSON(jsonDoc_2)); - Fetching a single record from () a file and Storing in geode approx. takes . 3 secs Is there any suggestions/configuration related to JSONFormatter API or other to optimize this...? *Looking forward to guidance on querying this JOSN for above sample queries.* *Thanks* *Ankit*