You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Mikhail Khludnev (Updated) (JIRA)" <ji...@apache.org> on 2012/02/06 21:37:59 UTC

[jira] [Updated] (SOLR-3076) Solr should support block joins

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

Mikhail Khludnev updated SOLR-3076:
-----------------------------------

    Attachment: bjq-vs-filters-illegal-state.patch

Hello,

The parser itself is not a very big deal. I'm stuck with filtered search for ToParentBlockJoinQuery. I'm attaching neat test for it. 
  
incepted at http://lucene.472066.n3.nabble.com/ToParentBlockJoinQuery-vs-filtered-search-td3717911.html

Giving Michael's resolution I amended o.a.l.s.join.ToParentBlockJoinQuery.BlockJoinWeight.scorer(AtomicReaderContext, boolean, boolean, Bits):
* children query scorer obtains readerContext.reader.getLiveDocs() - all documents 
* parent filter obtains acceptDocs to instantiate parent DocIdSet. 

now it fails TestBlockJoin.testSimpleFilter() line 196 I use parent filter as a filter for search (it shouldn't influence th result). I've got an exception 

java.lang.IllegalStateException: parentFilter must return FixedBitSet; got org.apache.lucene.search.BitsFilteredDocIdSet@19ccba
	at org.apache.lucene.search.join.ToParentBlockJoinQuery$BlockJoinWeight.scorer(ToParentBlockJoinQuery.java:197)

it's caused by CachingWrapperFilter.getDocIdSet(AtomicReaderContext, Bits) and BitsFilteredDocIdSet.wrap(DocIdSet, Bits).

(if you don't apply changes to ToParentBlockJoinQuery, assert fails with zero doc found - parent filter is applied to children query)

it seems to me:
* I did something absolutely wrong or
* I need to manage ToParentBlockJoinQuery work with BitsFilteredDocIdSet - I guess it might be possible. 

                
> Solr should support block joins
> -------------------------------
>
>                 Key: SOLR-3076
>                 URL: https://issues.apache.org/jira/browse/SOLR-3076
>             Project: Solr
>          Issue Type: New Feature
>            Reporter: Grant Ingersoll
>         Attachments: bjq-vs-filters-illegal-state.patch
>
>
> Lucene has the ability to do block joins, we should add it to Solr.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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