Hi all, playing with the solr scale function I found a few corner cases where I need to scale only the results set.
I found a workaround that works but it does not seem to be viable, because if I add an fq parameter the scale function still continues to work only on the q param . For example with q=popularity:(1 OR 7): http://localhost:8983/solr/techproducts/select?q=popularity:(1 OR 7)&rows=100&fl=price,scale(sum(price,query($q)), 0, 1) { "responseHeader":{ "status":0, "QTime":1, "params":{ "q":"popularity:(1 OR 7)", "fl":"price,scale(sum(price,query($q)), 0, 1)", "rows":"100"}}, "response":{"numFound":6,"start":0,"numFoundExact":true,"docs":[ { "price":74.99, "scale(sum(price,query($q)), 0, 1)":0.099437736}, { "price":19.95, "scale(sum(price,query($q)), 0, 1)":0.013234352}, { "price":11.5, "scale(sum(price,query($q)), 0, 1)":0.0}, { "price":329.95, "scale(sum(price,query($q)), 0, 1)":0.49875492}, { "price":479.95, "scale(sum(price,query($q)), 0, 1)":0.7336842}, { "price":649.99, "scale(sum(price,query($q)), 0, 1)":1.0}] }} but moving the filter in fq: http://localhost:8983/solr/techproducts/select?q=*:*&fq=popularity:(1%20OR%207)&rows=100&fl=price,scale(sum(price,query($q)),%200,%201) { "responseHeader":{ "status":0, "QTime":8, "params":{ "q":"*:*", "fl":"price,scale(sum(price,query($q)), 0, 1)", "fq":"popularity:(1 OR 7)", "rows":"100"}}, "response":{"numFound":6,"start":0,"numFoundExact":true,"docs":[ { "price":74.99, "scale(sum(price,query($q)), 0, 1)":0.034101862}, { "price":19.95, "scale(sum(price,query($q)), 0, 1)":0.009072306}, { "price":11.5, "scale(sum(price,query($q)), 0, 1)":0.0052296496}, { "price":329.95, "scale(sum(price,query($q)), 0, 1)":0.15004548}, { "price":479.95, "scale(sum(price,query($q)), 0, 1)":0.2182583}, { "price":649.99, "scale(sum(price,query($q)), 0, 1)":0.29558435}] }} On the other hand, I was thinking of implementing a custom scale function that by default works only on the current result set and not on the entire collection. Any suggestions on how to solve this problem? Best regards, Vincenzo -- Vincenzo D'Amore