lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Umesh Prasad <umesh.i...@gmail.com>
Subject Re: How do I get faceting to work with Solr JOINs
Date Fri, 18 Jul 2014 04:58:44 GMT
Hi Vinay,

You can customize the FacetsComponent. Basically FacetComponent uses
SimpleFacets to compute the facet count. It passes matched docset present
in responsebuilder to  SimpleFacets's constructor.

1.  Build a mapping between parent space and auxiliary document space in
(say an int array) and cache it in your own custom cache in
SolrIndexSearcher.  You will need to rebuild this mapping on every commit
have to define a CacheRegenerator for that.

2.  You can map the matched docset (which is in parent space) to auxiliary
document space.
     The catch is that facets from non matching auxililary docs also would
be counted.

3. You can then pass on this mapped auxiliary document to SimpleFacets for
faceting.

I have doing something similar for our needs .. Basically, we have a parent
document with text attributes and changes very less. And we have child
documents with inventory attributes which changes extremely fast. The
search results requires child documents but faceting has to be done on text
attributes which belong to parents. So we do this mapping by customizing
the FacetComponent.






On 18 July 2014 04:11, Vinay B, <vybe3142@gmail.com> wrote:

> Some Background info :
> In our application, we have a requirement to update large number of records
> often.  I investigated solr child documents but it requires updating both
> the child and the parent document . Therefore, I'm investigating adding
> frequently updated information in an "auxillary document" with a custom
> defined "parent-id" field that can be used to join with the static "parent
> document". - basically rolling my own child document functionality.
>
> This approach has satisfied all my requirements, except one. How can I
> facet upon a field present in the auxillary document?
>
> First, here's a gist dump of my test core index (4 docs + 4 aux docs)
> https://gist.github.com/anonymous/2774b54e667778c71492
>
> Next, here's a simple facet query only on the aux . While this works, it
> only returns auxillary documents
> https://gist.github.com/anonymous/a58b87576b895e467c68
>
> Finally, I tweak the query using a SOLR join (
> https://wiki.apache.org/solr/Join ) to return the main documents (which it
> does), but the faceting returns no results. This is what I'm hoping someone
> on this list can answer .
> Here is the gist of that query
> https://gist.github.com/anonymous/f3a287ab726f35b142cf
>
> Any answers, suggestions ?
>
> Thanks
>



-- 
---
Thanks & Regards
Umesh Prasad

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message