[
https://issues.apache.org/jira/browse/SOLR-12505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16519471#comment-16519471
]
David Smiley commented on SOLR-12505:
-------------------------------------
What is the straightforward fix? Changing {{buf.append("{! df=")}} to
{{buf.append("{!lucene df=")}}? If that works I owe you a beer :) It
deliberately doesn't work as SOLR-11501 (v7.2.0) because it would, for example,
give end-users (people entering a query into a search box) the ability to hack
the engine in ways we don't want them to, potentially leading to security bugs.
Perhaps an underlying issue here is that people can change the configuration of
"/select". I propose that "/select" in particular be locked down for 8.0. I'm
definitely a believer in creating customized request handlers in Solr, just
that they have names for your app's purpose (e.g. /suggest or /search or /mlt),
and not messing with /select.
> 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]