On Jan 3, 2023, at 2:11 AM, Noah Torp-Smith <[email protected]> wrote:
> 
> I have also looked at denormalizing 
> (https://blog.innoventsolutions.com/innovent-solutions-blog/2018/05/avoid-the-parentchild-trap-tips-and-tricks-for-denormalizing-solr-data.html
>  
> <https://blog.innoventsolutions.com/innovent-solutions-blog/2018/05/avoid-the-parentchild-trap-tips-and-tricks-for-denormalizing-solr-data.html>)
>  and it helps when doing it for a few child fields. But as said, there are 
> more properties in the real model than those I have mentioned here, so that 
> also involves some complications.

I would look at denormalizing (flattening) the schema. That will make things 
much simpler. A pre-filter on work level fields is just a filter on the work 
fields in the manifest level objects, easy and fast, plus it gets cached in the 
filter cache. Sharding will also be straightforward, if needed.

I wouldn’t worry about lots of fields. We had a smallish index (150k docs) with 
30,000 fields per doc. Only a few fields were searched or used for ranking on 
each query. It was very fast.

You will need to update all the manifest level documents when there is a work 
level update, but those shouldn’t be frequent.

wunder
Walter Underwood
[email protected]
http://observer.wunderwood.org/  (my blog)

Reply via email to