[
https://issues.apache.org/jira/browse/SOLR-7669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15001680#comment-15001680
]
ASF subversion and git services commented on SOLR-7669:
-------------------------------------------------------
Commit 1713967 from [email protected] in branch 'dev/trunk'
[ https://svn.apache.org/r1713967 ]
SOLR-7669: Add SelectStream and Tuple Operations to the Streaming API and
Streaming Expressions
> Add SelectStream to Streaming API
> ---------------------------------
>
> Key: SOLR-7669
> URL: https://issues.apache.org/jira/browse/SOLR-7669
> Project: Solr
> Issue Type: Improvement
> Components: SolrJ
> Reporter: Dennis Gove
> Assignee: Dennis Gove
> Priority: Minor
> Labels: Streaming
> Attachments: SOLR-7669.patch, SOLR-7669.patch, SOLR-7669.patch,
> SOLR-7669.patch, SOLR-7669.patch, SOLR-7669.patch
>
>
> Adds a new stream called SelectStream which can be used for two purpose.
> 1. Limit the set of fields included in an outgoing tuple to remove unwanted
> fields
> 2. Provide aliases for fields. With this it acts as an alternative to the
> CloudSolrStream's 'aliases' option.
> For example, in a simple case
> {code}
> select(
> id,
> fieldA_i as fieldA,
> fieldB_s as fieldB,
> search(collection1, q="*:*", fl="id,fieldA_i,fieldB_s", sort="fieldA_i asc,
> fieldB_s asc, id asc")
> )
> {code}
> This can also be used as part of complex expressions to help keep track of
> what is being worked on. This is particularly useful when merging/joining
> multiple collections which share field names. For example, the following
> results in a set of tuples including only the fields id, left.ident, and
> right.ident even though the total set of fields required to perform the
> search and join is much larger than just those three fields.
> {code}
> select(
> id, left.ident, right.ident,
> innerJoin(
> select(
> id, join1_i as left.join1, join2_s as left.join2, ident_s as left.ident,
> search(collection1, q="side_s:left", fl="id,join1_i,join2_s,ident_s",
> sort="join1_i asc, join2_s asc, id asc")
> ),
> select(
> join3_i as right.join1, join2_s as right.join2, ident_s as right.ident,
> search(collection1, q="side_s:right", fl="join3_i,join2_s,ident_s",
> sort="join3_i asc, join2_s asc"),
> ),
> on="left.join1=right.join1, left.join2=right.join2"
> )
> )
> {code}
> This depends on SOLR-7584.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]