Hi Joel, There also seems to be an issue related to how QueryRequest instance is created in scoreNodes implementation. It seems to be using GET method instead of POST. As a result, when underlying stream is big, scoreNodes function fails with an exception "URI is too large"
I found a related is issue mentioned here, http://lucene.472066.n3.nabble.com/Streaming-Expressions-GET-vs-POST-td4415044.html ScoreNodesStream.java initializes QueryRequest as follows. QueryRequest request = new QueryRequest(params); vs TimeSeriesStream.java which does it like this. QueryRequest request = new QueryRequest(paramsLoc, SolrRequest.METHOD.POST); Is this also a bug? On Tue, Jul 2, 2019 at 10:17 AM Pratik Patel <pra...@semandex.net> wrote: > Great, thanks! > > On Tue, Jul 2, 2019 at 6:37 AM Joel Bernstein <joels...@gmail.com> wrote: > >> Ok, that sounds like a bug. I can create a ticket for this. >> >> On Mon, Jul 1, 2019 at 5:57 PM Pratik Patel <pra...@semandex.net> wrote: >> >> > I think the problem was that my streaming expression was always >> returning >> > just one node. When I added more data so that I can have more than one >> > node, I started seeing the result. >> > >> > On Mon, Jul 1, 2019 at 11:21 AM Pratik Patel <pra...@semandex.net> >> wrote: >> > >> >> Hello Everyone, >> >> >> >> I am trying to execute following streaming expression with "scoreNodes" >> >> function in it. This is taken from the documentation. >> >> >> >> scoreNodes(top(n="50", >> >> sort="count(*) desc", >> >> nodes(baskets, >> >> random(baskets, q="productID:ABC", >> >> fl="basketID", rows="500"), >> >> walk="basketID->basketID", >> >> fq="-productID:ABC", >> >> gather="productID", >> >> count(*)))) >> >> >> >> I have ensured that I have the collection and data present for it. >> >> Upon executing this, I am getting an error message as follows. >> >> >> >> "No collection param specified on request and no default collection has >> >> been set: []" >> >> >> >> Upon digging into the source code I found that there is a possible bug >> in >> >> ScoreNodesStream.java >> >> >> >> StringBuilder instance is never appended any string and the block which >> >> initializes collection, needs the length of that instance to be more >> than >> >> zero. This condition will always be false and hence the collection will >> >> never be set. >> >> >> >> I checked this file in solr version 8.1 and that also has the same >> issue. >> >> Is there any JIRA open for this or any patch available? >> >> >> >> [image: image.png] >> >> >> >> Thanks, >> >> Pratik >> >> >> > >> >