you're right, that was a mistake in my code - I did actually using cacheKey but that didn't work so I was looking at the Java class for DIHCacheSupport to see if there were any other settings I could use https://lucene.apache.org/solr/5_4_0/solr-dataimporthandler/index.html?org/apache/solr/handler/dataimport/DIHCacheSupport.html There doesn't seem to be a lot of documentation or examples for using cacheKey and SQLEntityProcessor around.
Regards,Kevin On Thursday, February 4, 2016 9:31 PM, Alexandre Rafalovitch <arafa...@gmail.com> wrote: Where did cachePrimaryKey comes from? The documentation has cacheKey : https://cwiki.apache.org/confluence/display/solr/Uploading+Structured+Data+Store+Data+with+the+Data+Import+Handler Regards, Alex. ---- Newsletter and resources for Solr beginners and intermediates: http://www.solr-start.com/ On 5 February 2016 at 02:53, Kevin Colgan <kcol...@yahoo.com.invalid> wrote: > Hi everyone, > > Is it possible to use SqlEntityProcessor in cached mode to repeat a query for > a nested child element? I'd like to use the entity query once to consolidate > information from the children to the parent, then another to actually index > the entities as children. > > Here's an example of what I'm trying to do in the db-config file. The > EventsTransformer consolidates information from child events and adds fields > to the parent row. I had to add the two entities as the EventsTransformer > will only add fields to the parent if child=false: > > This is NOT working - the child event entities aren't being created > <entity autoCommit="false" rootEntity="true" encoding="UTF-8" name="houses" > query="select <parent fields> from houses"> > <entity > transformer="EventsTransformer" > name="events" > query="select '${houses.uid}_events_' || e_id::text AS uuid,<event >fields> from events"> > <entity > child=true > processor="SqlEntityProcessor" cachePrimaryKey="events_e_id" >cacheLookup="events_parsed.events_e_id" cacheImpl="SortedMapBackedCache" > name="events" > query="select <event fields> from events"> > </entity> > > This is IS working but the events query is being run twice so indexing is > twice as slow > > <entity autoCommit="false" rootEntity="true" encoding="UTF-8" name="houses" > query="select <parent fields> from houses"> > <entity > transformer="EventsTransformer" > name="events_parsed" > query="select '${houses.uid}_events_' || e_id::text AS uuid, >e_id::text AS events_e_id,<event fields> from events"> > <entity > child=true > processor="SqlEntityProcessor" cachePrimaryKey="events_e_id" >cacheLookup="events_parsed.events_e_id" cacheImpl="SortedMapBackedCache" > transformer="EventsTransformer" > name="events_child" > query="select <event fields> from events"> > </entity> > > Anyone got any idea how to do this? I've already tried nesting the second > child entity inside the other but this didn't work. > Thanks,Kevin