[jira] [Updated] (SOLR-7525) Add ComplementStream to the Streaming API and Streaming Expressions
[ https://issues.apache.org/jira/browse/SOLR-7525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dennis Gove updated SOLR-7525: -- Attachment: SOLR-7525.patch Rebased against trunk > Add ComplementStream to the Streaming API and Streaming Expressions > --- > > Key: SOLR-7525 > URL: https://issues.apache.org/jira/browse/SOLR-7525 > Project: Solr > Issue Type: New Feature > Components: SolrJ >Reporter: Joel Bernstein >Assignee: Dennis Gove >Priority: Minor > Attachments: SOLR-7525.patch, SOLR-7525.patch, SOLR-7525.patch, > SOLR-7525.patch, SOLR-7525.patch, SOLR-7525.patch > > > This ticket adds a ComplementStream to the Streaming API and Streaming > Expression language. > The ComplementStream will wrap two TupleStreams (StreamA, StreamB) and emit > Tuples from StreamA that are not in StreamB. > Streaming API Syntax: > {code} > ComplementStream cstream = new ComplementStream(streamA, streamB, comp); > {code} > Streaming Expression syntax: > {code} > complement(search(...), search(...), on(...)) > {code} > Internal implementation will rely on the ReducerStream. The ComplementStream > can be parallelized using the ParallelStream. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-7525) Add ComplementStream to the Streaming API and Streaming Expressions
[ https://issues.apache.org/jira/browse/SOLR-7525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jason Gerlowski updated SOLR-7525: -- Attachment: SOLR-7525.patch Uh, oh. When I uploaded my recent patch, I neglected to {{svn add}} some files that Dennis had created in his prior revision. This updated patch fixes the prior mistake. [~joel.bernstein] Is there anything else you were looking for test-wise on this patch? I added tests that mirrored the parallel-tests from other streams, but I might've missed something. > Add ComplementStream to the Streaming API and Streaming Expressions > --- > > Key: SOLR-7525 > URL: https://issues.apache.org/jira/browse/SOLR-7525 > Project: Solr > Issue Type: New Feature > Components: SolrJ >Reporter: Joel Bernstein >Priority: Minor > Attachments: SOLR-7525.patch, SOLR-7525.patch, SOLR-7525.patch, > SOLR-7525.patch, SOLR-7525.patch > > > This ticket adds a ComplementStream to the Streaming API and Streaming > Expression language. > The ComplementStream will wrap two TupleStreams (StreamA, StreamB) and emit > Tuples from StreamA that are not in StreamB. > Streaming API Syntax: > {code} > ComplementStream cstream = new ComplementStream(streamA, streamB, comp); > {code} > Streaming Expression syntax: > {code} > complement(search(...), search(...), on(...)) > {code} > Internal implementation will rely on the ReducerStream. The ComplementStream > can be parallelized using the ParallelStream. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-7525) Add ComplementStream to the Streaming API and Streaming Expressions
[ https://issues.apache.org/jira/browse/SOLR-7525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jason Gerlowski updated SOLR-7525: -- Attachment: SOLR-7525.patch I added two test clauses in {{StreamExpressionTest}} that combine the use of Complement/Intersect with a {{ParallelStream}}. {{testParallelComplementStream}} and {{testParallelIntersectStream}}. Hopefully this is what Joel was looking for when he mentioned that this could use some parallel tests. > Add ComplementStream to the Streaming API and Streaming Expressions > --- > > Key: SOLR-7525 > URL: https://issues.apache.org/jira/browse/SOLR-7525 > Project: Solr > Issue Type: New Feature > Components: SolrJ >Reporter: Joel Bernstein >Priority: Minor > Attachments: SOLR-7525.patch, SOLR-7525.patch, SOLR-7525.patch, > SOLR-7525.patch > > > This ticket adds a ComplementStream to the Streaming API and Streaming > Expression language. > The ComplementStream will wrap two TupleStreams (StreamA, StreamB) and emit > Tuples from StreamA that are not in StreamB. > Streaming API Syntax: > {code} > ComplementStream cstream = new ComplementStream(streamA, streamB, comp); > {code} > Streaming Expression syntax: > {code} > complement(search(...), search(...), on(...)) > {code} > Internal implementation will rely on the ReducerStream. The ComplementStream > can be parallelized using the ParallelStream. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-7525) Add ComplementStream to the Streaming API and Streaming Expressions
[ https://issues.apache.org/jira/browse/SOLR-7525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dennis Gove updated SOLR-7525: -- Attachment: SOLR-7525.patch Rebases off of trunk and adds a DistinctOperation for use in the ReducerStream. The DistinctOperation ensures that for any given group only a single tuple will be returned. Currently it is implemented to return the first tuple in a group but a possible enhancement down the road could be to support a parameter asking for some other tuple in the group (such as the first in a sub-sorted list). Also, while implementing this I realized that the UniqueStream can be refactored to be just a type of ReducerStream with DistinctOperation. That change is not included in this patch but will be done under a separate ticket. Also of note, I'm not sure if the getChildren() function declared in TupleStream is necessary any longer. If I recall correctly that function was used by the StreamHandler when passing streams to workers but since all that has been changed to pass the result of toExpression() I think we can get rid of the getChildren() function. I will explore that possibility. > Add ComplementStream to the Streaming API and Streaming Expressions > --- > > Key: SOLR-7525 > URL: https://issues.apache.org/jira/browse/SOLR-7525 > Project: Solr > Issue Type: New Feature > Components: SolrJ >Reporter: Joel Bernstein >Priority: Minor > Attachments: SOLR-7525.patch, SOLR-7525.patch > > > This ticket adds a ComplementStream to the Streaming API and Streaming > Expression language. > The ComplementStream will wrap two TupleStreams (StreamA, StreamB) and emit > Tuples from StreamA that are not in StreamB. > Streaming API Syntax: > {code} > ComplementStream cstream = new ComplementStream(streamA, streamB, comp); > {code} > Streaming Expression syntax: > {code} > complement(search(...), search(...), on(...)) > {code} > Internal implementation will rely on the ReducerStream. The ComplementStream > can be parallelized using the ParallelStream. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-7525) Add ComplementStream to the Streaming API and Streaming Expressions
[ https://issues.apache.org/jira/browse/SOLR-7525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dennis Gove updated SOLR-7525: -- Attachment: SOLR-7525.patch As it turns out IntersectStream and ComplementStream can both make use of a UniqueStream which makes use of a ReducerStream. As such this new patch implements Intersect and Complement with streamB as an instance of UniqueStream. UniqueStream is changed to be implemented as a type of ReducerStream. > Add ComplementStream to the Streaming API and Streaming Expressions > --- > > Key: SOLR-7525 > URL: https://issues.apache.org/jira/browse/SOLR-7525 > Project: Solr > Issue Type: New Feature > Components: SolrJ >Reporter: Joel Bernstein >Priority: Minor > Attachments: SOLR-7525.patch, SOLR-7525.patch, SOLR-7525.patch > > > This ticket adds a ComplementStream to the Streaming API and Streaming > Expression language. > The ComplementStream will wrap two TupleStreams (StreamA, StreamB) and emit > Tuples from StreamA that are not in StreamB. > Streaming API Syntax: > {code} > ComplementStream cstream = new ComplementStream(streamA, streamB, comp); > {code} > Streaming Expression syntax: > {code} > complement(search(...), search(...), on(...)) > {code} > Internal implementation will rely on the ReducerStream. The ComplementStream > can be parallelized using the ParallelStream. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-7525) Add ComplementStream to the Streaming API and Streaming Expressions
[ https://issues.apache.org/jira/browse/SOLR-7525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dennis Gove updated SOLR-7525: -- Attachment: SOLR-7525.patch Includes both ComplementStream and IntersectStream. All tests pass. > Add ComplementStream to the Streaming API and Streaming Expressions > --- > > Key: SOLR-7525 > URL: https://issues.apache.org/jira/browse/SOLR-7525 > Project: Solr > Issue Type: New Feature > Components: SolrJ >Reporter: Joel Bernstein >Priority: Minor > Attachments: SOLR-7525.patch > > > This ticket adds a ComplementStream to the Streaming API and Streaming > Expression language. > The ComplementStream will wrap two TupleStreams (StreamA, StreamB) and emit > Tuples from StreamA that are not in StreamB. > Streaming API Syntax: > {code} > ComplementStream cstream = new ComplementStream(streamA, streamB, comp); > {code} > Streaming Expression syntax: > {code} > complement(search(...), search(...), on(...)) > {code} > Internal implementation will rely on the ReducerStream. The ComplementStream > can be parallelized using the ParallelStream. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-7525) Add ComplementStream to the Streaming API and Streaming Expressions
[ https://issues.apache.org/jira/browse/SOLR-7525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Joel Bernstein updated SOLR-7525: - Summary: Add ComplementStream to the Streaming API and Streaming Expressions (was: Add ComplementStream) Add ComplementStream to the Streaming API and Streaming Expressions --- Key: SOLR-7525 URL: https://issues.apache.org/jira/browse/SOLR-7525 Project: Solr Issue Type: New Feature Components: SolrJ Reporter: Joel Bernstein Priority: Minor This ticket adds a ComplementStream to the Streaming API and Streaming Expression language. The ComplementStream will wrap two TupleStreams (StreamA, StreamB) and emit Tuples from StreamA that are not in StreamB. Streaming API Syntax: {code} ComplementStream cstream = new ComplementStream(streamA, streamB, comp); {code} Streaming Expression syntax: {code} complement(search(...), search(...), on(...)) {code} Internal implementation will rely on the ReducerStream. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-7525) Add ComplementStream to the Streaming API and Streaming Expressions
[ https://issues.apache.org/jira/browse/SOLR-7525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Joel Bernstein updated SOLR-7525: - Description: This ticket adds a ComplementStream to the Streaming API and Streaming Expression language. The ComplementStream will wrap two TupleStreams (StreamA, StreamB) and emit Tuples from StreamA that are not in StreamB. Streaming API Syntax: {code} ComplementStream cstream = new ComplementStream(streamA, streamB, comp); {code} Streaming Expression syntax: {code} complement(search(...), search(...), on(...)) {code} Internal implementation will rely on the ReducerStream. The ComplementStream can be parallelized using the ParallelStream. was: This ticket adds a ComplementStream to the Streaming API and Streaming Expression language. The ComplementStream will wrap two TupleStreams (StreamA, StreamB) and emit Tuples from StreamA that are not in StreamB. Streaming API Syntax: {code} ComplementStream cstream = new ComplementStream(streamA, streamB, comp); {code} Streaming Expression syntax: {code} complement(search(...), search(...), on(...)) {code} Internal implementation will rely on the ReducerStream. Add ComplementStream to the Streaming API and Streaming Expressions --- Key: SOLR-7525 URL: https://issues.apache.org/jira/browse/SOLR-7525 Project: Solr Issue Type: New Feature Components: SolrJ Reporter: Joel Bernstein Priority: Minor This ticket adds a ComplementStream to the Streaming API and Streaming Expression language. The ComplementStream will wrap two TupleStreams (StreamA, StreamB) and emit Tuples from StreamA that are not in StreamB. Streaming API Syntax: {code} ComplementStream cstream = new ComplementStream(streamA, streamB, comp); {code} Streaming Expression syntax: {code} complement(search(...), search(...), on(...)) {code} Internal implementation will rely on the ReducerStream. The ComplementStream can be parallelized using the ParallelStream. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org