lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vadim Kirilchuk (JIRA)" <>
Subject [jira] [Created] (LUCENE-4768) Child Traversable To Parent Block Join Query
Date Sun, 10 Feb 2013 19:55:12 GMT
Vadim Kirilchuk created LUCENE-4768:

             Summary: Child Traversable To Parent Block Join Query
                 Key: LUCENE-4768
             Project: Lucene - Core
          Issue Type: Improvement
          Components: core/query/scoring
         Environment: trunk
git rev-parse HEAD
            Reporter: Vadim Kirilchuk
         Attachments: LUCENE-4768-draft.patch

Hi everyone

Let me describe what i am trying to do:
I have hierarchical documents and use block join queries to retrieve them. However, i am not
happy with current behavior of ToParentBlockJoinQuery which goes through all parent childs
during nextDoc call.

Consider the following example, you have a query with custom post condition on top of such
bjq: and during post condition you traverse scorers tree (doc-at-time) and want to manually
push child scorers of bjq one by one until condition passes or current parent have no more

I am attaching the patch with query(and some tests) similar to ToParentBlockJoin but with
an ability to traverse childs. (i have to do weird instance of check and cast inside my code)
This is a draft only and i will be glad to hear if someone need it or how we can improve it.

P.s i believe that proposed query is more generic (low level) than ToParentBJQ and ToParentBJQ
can be extended from it and call nextChild() internally during nextDoc().

Also, i think that the problem of traversing hierarchical documents is more complex as lucene
have only nextDoc API. What do you think about making api more hierarchy aware? One level
document is a special case of multi level document but not vice versa. WDYT?

Thanks in advance.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message