You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "David Eric Pugh (Jira)" <ji...@apache.org> on 2021/10/14 21:16:00 UTC

[jira] [Commented] (SOLR-12505) Streaming expressions - fetch() does not work as expected

    [ https://issues.apache.org/jira/browse/SOLR-12505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17429017#comment-17429017 ] 

David Eric Pugh commented on SOLR-12505:
----------------------------------------

I just ran into similar problems.   In the setup I am using ([https://github.com/querqy/chorus/blob/master/solr/configsets/ecommerce/conf/solrconfig.xml#L86)] the /select handler uses defType=edismax.  

 

I'm going to change up my setup to remove the defType=edismax on the raw /select.

Having said that, would it make sense for the fetch() to instead hit the realtime GET endpoint instead?   Since we aren't really running a search.....

> Streaming expressions - fetch() does not work as expected
> ---------------------------------------------------------
>
>                 Key: SOLR-12505
>                 URL: https://issues.apache.org/jira/browse/SOLR-12505
>             Project: Solr
>          Issue Type: Bug
>          Components: streaming expressions
>    Affects Versions: 7.3.1
>         Environment: Windows 10, Java 10, Solr Cloud 7.3.1
>            Reporter: Dariusz Wojtas
>            Assignee: Joel Bernstein
>            Priority: Major
>         Attachments: names.zip
>
>
> The issue:
>  # when I try to use fetch() within a streaming expression, it does not enrich the inner source data. The result is exactly the same as if there was no surrounding fetch() function.
>  # but it works if I try to do a leftOuterJoin() function instead.
> Use the attached 'names' collection configuration.
>  SOLR works in _cloud_ mode, streaming expressions do work, ie. stream(), join(), etc
> Data to be inserted:
>  ==
> {code:xml}
> <add>
>  <doc>
>   <field name="id">1</field>
>   <field name="type">entity</field>
>   <field name="name">Orignal Darek name</field>
>   <field name="country">uk</field>
>   <doc>
>    <field name="id">N001</field>
>    <field name="parentId">1</field>
>    <field name="type">alternate</field>
>    <field name="alias">Darek</field>
>   </doc>
>   <doc>
>    <field name="id">N002</field>
>    <field name="parentId">1</field>
>    <field name="type">alternate</field>
>    <field name="alias">Darke</field>
>   </doc>
>   <doc>
>    <field name="id">N003</field>
>    <field name="parentId">1</field>
>    <field name="type">alternate</field>
>       <field name="alias">Darko</field>
>   </doc>
>  </doc>
>  <doc>
>   <field name="id">2</field>
>   <field name="type">entity</field>
>   <field name="name">Texaco</field>
>   <field name="country">de</field>
>   <doc>
>    <field name="id">N0011</field>
>    <field name="parentId">2</field>
>    <field name="type">alternate</field>
>    <field name="alias">Texxo</field>
>   </doc>
>   <doc>
>    <field name="id">N0012</field>
>    <field name="parentId">2</field>
>    <field name="type">alternate</field>
>    <field name="alias">Texoco</field>
>   </doc>
>  </doc>
> </add>
> {code}
> ==
>  The streaming query to execute.
>  Simplified, as the mainsearch usually does more complext stuff.
>  ==
> {noformat}
>  fetch( 
>  names,
>  search(names,
>  qt="/select",
>  q="*:*",
>  fq="type:alternate",
>  fl="parentId, alias",
>  rows=10,
>  sort="parentId asc"), 
>  on="parentId=id",
>  fl="name,country"
>  )
> {noformat}
> ==
> *Result*:
>  * Collection of attributes: parentId, alias
> *Expected result*:
>  * Collection of attributes: parentId, alias, name, country



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org