[ 
https://issues.apache.org/jira/browse/SOLR-4799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14654239#comment-14654239
 ] 

Mikhail Khludnev commented on SOLR-4799:
----------------------------------------

[~ctargett] fwiw, I updated ref guide 
https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=32604271&selectedPageVersions=44&selectedPageVersions=45

> DIH: join="zipper" aka merge join for nested EntityProcessors 
> --------------------------------------------------------------
>
>                 Key: SOLR-4799
>                 URL: https://issues.apache.org/jira/browse/SOLR-4799
>             Project: Solr
>          Issue Type: New Feature
>          Components: contrib - DataImportHandler
>            Reporter: Mikhail Khludnev
>            Assignee: Noble Paul
>            Priority: Minor
>              Labels: DIH, dataimportHandler, dih
>             Fix For: 5.0, Trunk
>
>         Attachments: SOLR-4799.patch, SOLR-4799.patch, SOLR-4799.patch, 
> SOLR-4799.patch, SOLR-4799.patch
>
>
> DIH is mostly considered as a playground tool, and real usages end up with 
> SolrJ. I want to contribute few improvements target DIH performance.
> This one provides performant approach for joining SQL Entities with miserable 
> memory at contrast to 
> http://wiki.apache.org/solr/DataImportHandler#CachedSqlEntityProcessor  
> The idea is:
> * parent table is explicitly ordered by it’s PK in SQL
> * children table is explicitly ordered by parent_id FK in SQL
> * children entity processor joins ordered resultsets by ‘zipper’ algorithm.
> *example usage* for what's committed:
> {code}
> <dataConfig>
>       <document>
>               <entity name="parent" processor="SqlEntityProcessor" 
> query="SELECT * FROM PARENT ORDER BY id">          
>                       <entity name="child_1" processor="SqlEntityProcessor"
>                               where="parent_id=parent.id" query="SELECT * 
> FROM CHILD_1 ORDER BY parent_id" join="zipper" >
>                       </entity>                       
>               </entity>
>       </document>
> </dataConfig>
> {code} 
> mind about:
> # *ordering* both sides
> # specifying *join="zipper"* at children entity
> # note that it works with *any entity processors* 
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to