Hi, I have two collections. The first collection 'items' stores associations between items and their features. The second collection 'features' stores importance score for each feature.
items: item_id - one-to-many - feature_id features: feature_id - one-to-one - importance_score_int The following describes a simplified scenario of what I would like to achieve using Solr (6.5) queries and/or Streaming Expressions. I would like to select the first two items from the 'items' collection and rank them by their features' importance score. Suppose we have two items i1 and i2. The first item has two features f1 and f2 and the second item i2 has only one feature f1: i1, f1 i1, f2 i2, f1 The score is computed by a function f(...) that simply returns the average of feature importance scores. Provided the scores are as stated below, i2 would be ranked first with a score of 2/2=1 and i2 would come second with the score of (2 - (-1))/2=0.5: f1 - 2 f2 - (-1) The natural flow would be to gather features for each item, compute the average of their scores and then associate that average with a corresponding item id. Any pointers are very much welcome! Thanks, Gintas