Ok, solved. Solr 8.2 accepted this statement: select(search(testcollection,q="test",df="Default",defType="edismax",fl="id", qt="/export", sort="id asc"),id,if(eq(1,1),Y,N) as found)
and return to me the expected results. Note that around Y and N there is no ". Solr 8.3 requires the following statement select(search(testcollection,q="test",df="Default",defType="edismax",fl="id", qt="/export", sort="id asc"),id,if(eq(1,1),"Y","N") as found) to return the exact results. I do not know why I did originally not include the quotation marks around Y and N, but it seems that 8.2 accepted this and 8.3 not. I will update the Jira. On Tue, Nov 19, 2019 at 11:25 PM Jörn Franke <jornfra...@gmail.com> wrote: > Could it be that Solr 8.3 is more strict on the if statement? > the statement if(eq(1,1),Y,N) > is supposed to return the character Y (not the field). In Solr 8.2 it > returns the character Y, but in Solr 8.3 not. > > On Tue, Nov 19, 2019 at 11:21 PM Jörn Franke <jornfra...@gmail.com> wrote: > >> thanks i will find another installation of Solr, but last time the >> underlying queries to the export handler were correct. What was wrong was >> the generated field "found" based on the if statement based NOT on any data >> in the collectioj. As said, in Solr 8.3 the id fields are returned, but >> not the "found" field, which is generated by the selected statement: >> select(search(testcollection,q="test",df="Default",defType="edismax",fl= >> "id", qt="/export", sort="id asc"),id,if(eq(1,1),Y,N) as found) >> >> returns a tuple >> id: "blabla" >> >> but not the part generated by the if(eq(1,1),Y,N) as found. In Solr 8.2 >> the found field is returned: >> id: "blabla" >> found: "Y" >> To my best knowledge this is a fully generated field => it does not >> depend on the underlying collection data and the export handler. This was >> done to exclude any issues with this one. >> it states simply if 1=1 return Y else N >> >> >> On Fri, Nov 8, 2019 at 3:20 PM Joel Bernstein <joels...@gmail.com> wrote: >> >>> Before moving to a jira let's take a look at the underlying Solr queries >>> in the log. The Streaming Expressions just creates solr queries, in this >>> case queries to the /export handler. So when something is not working as >>> expected we want to strip away the streaming expression and debug the >>> actual queries that are being run. >>> >>> You can find the Solr queries that appear in the log after running the >>> expressions and then try running them outside of the expression as plain >>> Solr queries. >>> >>> You can also post the Solr queries to this thread and we discuss what >>> the logs say. >>> >>> In these cases the logs always are the way to debug whats going on. >>> >>> >>> Joel Bernstein >>> http://joelsolr.blogspot.com/ >>> >>> >>> On Wed, Nov 6, 2019 at 4:14 PM Jörn Franke <jornfra...@gmail.com> wrote: >>> >>>> I created a JIRA for this: >>>> https://issues.apache.org/jira/browse/SOLR-13894 >>>> >>>> On Wed, Nov 6, 2019 at 10:45 AM Jörn Franke <jornfra...@gmail.com> >>>> wrote: >>>> >>>>> I have checked now Solr 8.3 server in admin UI. Same issue. >>>>> >>>>> Reproduction: >>>>> select(search(testcollection,q=“test”,df=“Default”,defType=“edismax”,fl=“id”, >>>>> qt=“/export”, sort=“id asc”),id,if(eq(1,1),Y,N) as found) >>>>> >>>>> In 8.3 it returns only the id field. >>>>> In 8.2 it returns id,found field. >>>>> >>>>> Since found is generated by select (and not coming from the >>>>> collection) there must be an issue with select. >>>>> >>>>> Any idea why this is happening. >>>>> >>>>> Debug logs do not show any error and the expression is correctly >>>>> received by Solr. >>>>> >>>>> Thank you. >>>>> >>>>> Best regards >>>>> >>>>> > Am 05.11.2019 um 14:59 schrieb Jörn Franke <jornfra...@gmail.com>: >>>>> > >>>>> > Thanks I will check and come back to you. As far as I remember (but >>>>> have to check) the queries generated by Solr were correct >>>>> > >>>>> > Just to be clear the same thing works with Solr 8.2 server and Solr >>>>> 8.2 client. >>>>> > >>>>> > It show the odd behaviour with Solr 8.2 server and Solr 8.3 client. >>>>> > >>>>> >> Am 05.11.2019 um 14:49 schrieb Joel Bernstein <joels...@gmail.com>: >>>>> >> >>>>> >> I'll probably need some more details. One thing that's useful is >>>>> to look at >>>>> >> the logs and see the underlying Solr queries that are generated. >>>>> Then try >>>>> >> those underlying queries against the Solr index and see what comes >>>>> back. If >>>>> >> you're not seeing the fields with the plain Solr queries then we >>>>> know it's >>>>> >> something going on below streaming expressions. If you are seeing >>>>> the >>>>> >> fields then it's the expressions themselves that are not handling >>>>> the data >>>>> >> as expected. >>>>> >> >>>>> >> >>>>> >> Joel Bernstein >>>>> >> http://joelsolr.blogspot.com/ >>>>> >> >>>>> >> >>>>> >>>> On Mon, Nov 4, 2019 at 9:09 AM Jörn Franke <jornfra...@gmail.com> >>>>> wrote: >>>>> >>> >>>>> >>> Most likely this issue can bei also reproduced in the admin UI for >>>>> the >>>>> >>> streaming handler of a collection. >>>>> >>> >>>>> >>>>> Am 04.11.2019 um 13:32 schrieb Jörn Franke <jornfra...@gmail.com >>>>> >: >>>>> >>>> >>>>> >>>> Hi, >>>>> >>>> >>>>> >>>> I use streaming expressions, e.g. >>>>> >>>> Sort(Select(search(...),id,if(eq(1,1),Y,N) as found), by=“field A >>>>> asc”) >>>>> >>>> (Using export handler, sort is not really mandatory , I will >>>>> remove it >>>>> >>> later anyway) >>>>> >>>> >>>>> >>>> This works perfectly fine if I use Solr 8.2.0 (server + client). >>>>> It >>>>> >>> returns Tuples in the form { “id”,”12345”, “found”:”Y”} >>>>> >>>> >>>>> >>>> However, if I use Solr 8.2.0 as server and Solr 8.3.0 as client >>>>> then the >>>>> >>> above statement only returns the id field, but not the found field. >>>>> >>>> >>>>> >>>> Questions: >>>>> >>>> 1) is this expected behavior, ie Solr client 8.3.0 is in this >>>>> case not >>>>> >>> compatible with Solr 8.2.0 and server upgrade to Solr 8.3.0 will >>>>> fix this? >>>>> >>>> 2) has the syntax for the above expression changed? If so how? >>>>> >>>> 3) is this not expected behavior and I should create a Jira for >>>>> it? >>>>> >>>> >>>>> >>>> Thank you. >>>>> >>>> Best regards >>>>> >>> >>>>> >>>>