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
>> >>
>> >
>>
>

Reply via email to