[ 
https://issues.apache.org/jira/browse/SOLR-10292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Gove updated SOLR-10292:
-------------------------------
    Attachment: SOLR-10292.patch

Implements everything except the read() function.

Expression is 
{code}
cartesian(
  <stream>,
  <fieldName | evaluator> [as newName],
  <fieldName | evaluator> [as newName],
  [productSort="how to order new tuples"
)
{code}

1. Will create a tuple for each value in the field, and return in the order the 
values appear in the field
{code}
cartesian(
  <stream>,
  multivaluedField
)
{code}

2. Will create a tuple for each value in the field, and return in the order of 
the ascending order of the values in the field
{code}
cartesian(
  <stream>,
  multivaluedField,
  productSort="multivaluedField ASC"
)
{code}

3. Will create a tuple for each value in the evaluated expression, putting the 
value in the same fieldName, and return new tuples in ascending order of the 
evaluated values 
{code}
cartesian(
  <stream>,
  sentence(fieldA) as fieldA,
  productSort="fieldA ASC"
)
{code}

4. Will create a tuple for each value in evaluated regex and sentence
{code}
cartesian(
  <stream>,
  sentence(fieldA) as newField,
  regexGroups(fieldB, "some regex expression generating groups") as fieldB
  productSort="fieldB ASC, newField DESC"
)
{code}

> Add cartesian Streaming Expression to build cartesian products from 
> multi-value fields and text fields
> ------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-10292
>                 URL: https://issues.apache.org/jira/browse/SOLR-10292
>             Project: Solr
>          Issue Type: New Feature
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Joel Bernstein
>         Attachments: SOLR-10292.patch
>
>
> Currently all the Streaming Expression such as rollups, intersections, fetch 
> etc, work on single value fields. The *cartesian* expression would create a 
> stream of tuples from a single tuple with a multi-value field. This would 
> allow multi-valued fields to be operated on by the wider library of Streaming 
> Expression.
> For example a single tuple with a multi-valued field:
> id: 1
> author: [Jim, Jack, Steve]
> Would be transformed in the following three tuples:
> id:1
> author:Jim
> id:1
> author:Jack
> id:1
> author:Steve



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to