Andrei, it's not clear what's the problem, but if you need to join children
to parents and then select only subset of parents you need to combine join
with parent filter. Some cases are explained
https://lucene.apache.org/solr/guide/8_0/other-parsers.html#OtherParsers-BlockJoinParentQueryParser
.
So you are implying that the parent filter allows subsets. The code at
https://github.com/apache/lucene-solr/blob/master/lucene/join/src/java/org/apache/lucene/search/join/CheckJoinIndex.java#L46
implies that subset is not allowed. If I select a subset and invoke the
checker, I get this IllegalS
Well for one thing, you might have other documents in the index that
are neither parents nor children (in this particular relation). Also,
consider a nested hierarchy - how can we automatically figure out
which "generation" or "level" of parent to select?
On Wed, Jul 3, 2019 at 2:50 PM ANDREI SOLO
After looking through the unit tests, I got it working. The problem was that I
thought the parent filter in the ToParentBlockJoinQuery can be used to select a
subset of parents. It appears that the parent filter must select ALL parents,
not a subset. This is not explained in the javadoc. If you
Thanks Mikhail.
I read through the javadoc and thought I was satisfying all the preconditions.
Obviously not :-) Is it this part that am I getting wrong: "At search time you
provide a Filter identifying the parents, however this Filter must provide an
BitSet
https://lucene.apache.org/core/8_1
On Wed, Jul 3, 2019 at 6:11 PM ANDREI SOLODIN wrote:
>
> This returns "id3", which is unexpected.
>
> Please check ToPBJQ javadoc. It's absolutely expected.
--
Sincerely yours
Mikhail Khludnev
Hello, I am trying to understand the requirements for properly using the
index-time join. In my use case, I am trying to model a 1-N relationship where
parent document could have 0-N child documents. For now I am keeping my data
very simple where each child has a single field. So my data right n