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

David Smiley commented on SOLR-12505:
-------------------------------------

{quote}Perhaps we should set the defType parameter rather then use local params 
when sending the fetch request.
{quote}
+1 great idea.
{quote}The batch size on the fetch is small (defaults to 50) so I'm not sure 
the terms qparser will have much of an advantage over the lucene qparser 
performance wise.
{quote}
I argue it's up to the Lucene {{TermInSetQuery}} to make that heuristic 
determination than it is to make this choice at the level of a streaming 
expression. FWIW TermInSetQuery uses the value of 16 and if I recall Adrien did 
some benchmarking when setting that choice.  It could even get smarter in the 
future by using knowledge of the size of the number of indexed terms. And 
besides \{!terms} is I think more semantically clear than using the lucene 
query parser. It's non-scoring too.

> 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
>      Security Level: Public(Default Security Level. Issues are Public) 
>    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
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to