Hello again,
I'm using the solr block-join feature to index a journal and all of
it's articles.
Here a short example:
<add>
<doc>
<field name="id">527fcbf8-c140-4ae6-8f51-68cd2efc1343</field>
<field name="title">Sozialmagazin</field>
<field name="issue">8</field>
<field name="year">2008</field>
<field name="issn">0340-8469</field>
<field name="description">...</field>
<field name="publisher">juventa</field>
<field name="tags">...</field>
<field name="is_parent">true</field>
<doc>
<field
name="id">527fcb34-4570-4a86-b9e7-68cd2efc1343</field>
<field name="article">A World out of Balance</field>
<field name="page">62</field>
<field name="author">Amthor</field>
<field name="content_en">...</field>
<field name="tags">...</field>
</doc>
<doc>
<field
name="id">527fcbf8-84ec-424f-9d58-68cd2efc1343</field>
<field name="article">Die Philosophie des
Helfens</field>
<field name="page">50</field>
<field name="author">Keck</field>
<field name="content_en">...</field>
<field name="tags">...</field>
</doc>
</doc>
</add>
I read about the search syntax in this article:
http://blog.griddynamics.com/2013/09/solr-block-join-support.html
Yet I'm wondering, how to use it properly. If I want to make a
"fulltext" search over all journals and their articles and getting the
journals with the highest score as result, how should my query look
like?
I know that I can't just make a query like this: {!parent
which=is_parent:true}+Term, most likely I'll get this error: child
query must only match non-parent docs, but parent docID=XXXX matched
childScorer=class org.apache.lucene.search.TermScorer
So, how do I make a query that is searching in both, journals and
articles, giving me the journals ordered by their score? How do I get
the score of the child documents to be added to the score of the
parent document?
Thank you for your help.
- Gesh