[ 
https://issues.apache.org/jira/browse/SOLR-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yonik Seeley updated SOLR-2272:
-------------------------------

    Attachment: SOLR-2272.patch

Here's a patch with tests that implements the first algorithm for joining (just 
as in faceting, there will be multiple going forward).

This implements a many-to-many join - documents are mapped based on matching 
terms in index fields.  It's all on the fly, so nothing to declare up front.  
You can look at the tests for examples on how to use this.

Another example: to find the parents of all blue-eyed children, simply do
  fq={!join from=parent to=name}eyes:blue
Or,  you can join in the reverse direction to find the children of all blue 
eyed parents
  fq={!join from=name to=parent}eyes:blue
Or you can even do a self-join to find everyone with the same eye color as 
johnny, without knowing what that is
  fq={!join from=eyes to=eyes}name:johnny

This current algorithm is like facet.method=enum - it's more efficient when 
there are fewer terms in the fields being joined.

> Join
> ----
>
>                 Key: SOLR-2272
>                 URL: https://issues.apache.org/jira/browse/SOLR-2272
>             Project: Solr
>          Issue Type: New Feature
>            Reporter: Yonik Seeley
>             Fix For: 4.0
>
>         Attachments: SOLR-2272.patch
>
>
> Limited join functionality for Solr, mapping one set of IDs matching a query 
> to another set of IDs, based on the indexed tokens of the fields.
> Example:
> fq={!join  from=parent_ptr to:parent_id}child_doc:query

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to