[jira] [Commented] (SOLR-7513) Add Equalitors to Streaming Expressions

2015-08-09 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on SOLR-7513:
---

Commit 1694906 from [~joel.bernstein] in branch 'dev/trunk'
[ https://svn.apache.org/r1694906 ]

SOLR-7513: Updated CHANGES.txt

> Add Equalitors to Streaming Expressions
> ---
>
> Key: SOLR-7513
> URL: https://issues.apache.org/jira/browse/SOLR-7513
> Project: Solr
>  Issue Type: Improvement
>  Components: clients - java
>Affects Versions: Trunk
>Reporter: Dennis Gove
>Assignee: Joel Bernstein
>Priority: Minor
> Attachments: SOLR-7513.patch, SOLR-7513.patch, SOLR-7513.patch, 
> SOLR-7513.patch
>
>
> Right now all streams use the Comparator interface to compare tuples. 
> The Comparator interface will tell you if tupleA is before, after, or equal 
> to tupleB. This is great for most streams as they use this logic when 
> combining multiple streams together. However, some streams only care about 
> the equality of two tuples and the less/greater than logic is unnecessary.
> This depends on SOLR-7377.
> This patch is to introduce a new interface into streaming expressions called 
> Equalitor which will return if two tuples are equal. The benefit here 
> is that the expressions for streams using Equalitor instead of Comparator can 
> omit the ordering part.
> {code}
> unique(somestream, over="fieldA asc, fieldB desc")
> {code}
> can become
> {code}
> unique(somestream, over="fieldA,fieldB")
> {code}
> The added benefit is that this will set us up with simplier expressions for 
> joins (hash, merge, inner, outer, etc...) as those only care about equality.
> By adding this as an interface we make no assumptions about what it means to 
> be equal, just that some implementation needs to exist adhering to the 
> Equalitor interface which will determine if two tuples are logically 
> equal. 
> We do define at least one concrete class which checks for equality but that 
> does not preclude others from adding additional concrete classes with their 
> own logic in place.



--
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] [Commented] (SOLR-7513) Add Equalitors to Streaming Expressions

2015-07-22 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on SOLR-7513:
---

Commit 1692330 from [~joel.bernstein] in branch 'dev/branches/branch_5x'
[ https://svn.apache.org/r1692330 ]

SOLR-7513, SOLR-7528: Revert 5x commit

> Add Equalitors to Streaming Expressions
> ---
>
> Key: SOLR-7513
> URL: https://issues.apache.org/jira/browse/SOLR-7513
> Project: Solr
>  Issue Type: Improvement
>  Components: clients - java
>Affects Versions: Trunk
>Reporter: Dennis Gove
>Assignee: Joel Bernstein
>Priority: Minor
> Fix For: 5.3
>
> Attachments: SOLR-7513.patch, SOLR-7513.patch, SOLR-7513.patch, 
> SOLR-7513.patch
>
>
> Right now all streams use the Comparator interface to compare tuples. 
> The Comparator interface will tell you if tupleA is before, after, or equal 
> to tupleB. This is great for most streams as they use this logic when 
> combining multiple streams together. However, some streams only care about 
> the equality of two tuples and the less/greater than logic is unnecessary.
> This depends on SOLR-7377.
> This patch is to introduce a new interface into streaming expressions called 
> Equalitor which will return if two tuples are equal. The benefit here 
> is that the expressions for streams using Equalitor instead of Comparator can 
> omit the ordering part.
> {code}
> unique(somestream, over="fieldA asc, fieldB desc")
> {code}
> can become
> {code}
> unique(somestream, over="fieldA,fieldB")
> {code}
> The added benefit is that this will set us up with simplier expressions for 
> joins (hash, merge, inner, outer, etc...) as those only care about equality.
> By adding this as an interface we make no assumptions about what it means to 
> be equal, just that some implementation needs to exist adhering to the 
> Equalitor interface which will determine if two tuples are logically 
> equal. 
> We do define at least one concrete class which checks for equality but that 
> does not preclude others from adding additional concrete classes with their 
> own logic in place.



--
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] [Commented] (SOLR-7513) Add Equalitors to Streaming Expressions

2015-07-22 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on SOLR-7513:
---

Commit 1692325 from [~joel.bernstein] in branch 'dev/branches/branch_5x'
[ https://svn.apache.org/r1692325 ]

SOLR-7513, SOLR-7528: Add Equalitors to Streaming Expressions

> Add Equalitors to Streaming Expressions
> ---
>
> Key: SOLR-7513
> URL: https://issues.apache.org/jira/browse/SOLR-7513
> Project: Solr
>  Issue Type: Improvement
>  Components: clients - java
>Affects Versions: Trunk
>Reporter: Dennis Gove
>Assignee: Joel Bernstein
>Priority: Minor
> Fix For: 5.3
>
> Attachments: SOLR-7513.patch, SOLR-7513.patch, SOLR-7513.patch, 
> SOLR-7513.patch
>
>
> Right now all streams use the Comparator interface to compare tuples. 
> The Comparator interface will tell you if tupleA is before, after, or equal 
> to tupleB. This is great for most streams as they use this logic when 
> combining multiple streams together. However, some streams only care about 
> the equality of two tuples and the less/greater than logic is unnecessary.
> This depends on SOLR-7377.
> This patch is to introduce a new interface into streaming expressions called 
> Equalitor which will return if two tuples are equal. The benefit here 
> is that the expressions for streams using Equalitor instead of Comparator can 
> omit the ordering part.
> {code}
> unique(somestream, over="fieldA asc, fieldB desc")
> {code}
> can become
> {code}
> unique(somestream, over="fieldA,fieldB")
> {code}
> The added benefit is that this will set us up with simplier expressions for 
> joins (hash, merge, inner, outer, etc...) as those only care about equality.
> By adding this as an interface we make no assumptions about what it means to 
> be equal, just that some implementation needs to exist adhering to the 
> Equalitor interface which will determine if two tuples are logically 
> equal. 
> We do define at least one concrete class which checks for equality but that 
> does not preclude others from adding additional concrete classes with their 
> own logic in place.



--
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] [Commented] (SOLR-7513) Add Equalitors to Streaming Expressions

2015-06-19 Thread Joel Bernstein (JIRA)

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

Joel Bernstein commented on SOLR-7513:
--

Thanks for the great work!

> Add Equalitors to Streaming Expressions
> ---
>
> Key: SOLR-7513
> URL: https://issues.apache.org/jira/browse/SOLR-7513
> Project: Solr
>  Issue Type: Improvement
>  Components: clients - java
>Affects Versions: Trunk
>Reporter: Dennis Gove
>Assignee: Joel Bernstein
>Priority: Minor
> Fix For: 5.3
>
> Attachments: SOLR-7513.patch, SOLR-7513.patch, SOLR-7513.patch, 
> SOLR-7513.patch
>
>
> Right now all streams use the Comparator interface to compare tuples. 
> The Comparator interface will tell you if tupleA is before, after, or equal 
> to tupleB. This is great for most streams as they use this logic when 
> combining multiple streams together. However, some streams only care about 
> the equality of two tuples and the less/greater than logic is unnecessary.
> This depends on SOLR-7377.
> This patch is to introduce a new interface into streaming expressions called 
> Equalitor which will return if two tuples are equal. The benefit here 
> is that the expressions for streams using Equalitor instead of Comparator can 
> omit the ordering part.
> {code}
> unique(somestream, over="fieldA asc, fieldB desc")
> {code}
> can become
> {code}
> unique(somestream, over="fieldA,fieldB")
> {code}
> The added benefit is that this will set us up with simplier expressions for 
> joins (hash, merge, inner, outer, etc...) as those only care about equality.
> By adding this as an interface we make no assumptions about what it means to 
> be equal, just that some implementation needs to exist adhering to the 
> Equalitor interface which will determine if two tuples are logically 
> equal. 
> We do define at least one concrete class which checks for equality but that 
> does not preclude others from adding additional concrete classes with their 
> own logic in place.



--
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] [Commented] (SOLR-7513) Add Equalitors to Streaming Expressions

2015-06-19 Thread Dennis Gove (JIRA)

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

Dennis Gove commented on SOLR-7513:
---

I appreciate the help with this, Joel. Thanks!

> Add Equalitors to Streaming Expressions
> ---
>
> Key: SOLR-7513
> URL: https://issues.apache.org/jira/browse/SOLR-7513
> Project: Solr
>  Issue Type: Improvement
>  Components: clients - java
>Affects Versions: Trunk
>Reporter: Dennis Gove
>Assignee: Joel Bernstein
>Priority: Minor
> Fix For: 5.3
>
> Attachments: SOLR-7513.patch, SOLR-7513.patch, SOLR-7513.patch, 
> SOLR-7513.patch
>
>
> Right now all streams use the Comparator interface to compare tuples. 
> The Comparator interface will tell you if tupleA is before, after, or equal 
> to tupleB. This is great for most streams as they use this logic when 
> combining multiple streams together. However, some streams only care about 
> the equality of two tuples and the less/greater than logic is unnecessary.
> This depends on SOLR-7377.
> This patch is to introduce a new interface into streaming expressions called 
> Equalitor which will return if two tuples are equal. The benefit here 
> is that the expressions for streams using Equalitor instead of Comparator can 
> omit the ordering part.
> {code}
> unique(somestream, over="fieldA asc, fieldB desc")
> {code}
> can become
> {code}
> unique(somestream, over="fieldA,fieldB")
> {code}
> The added benefit is that this will set us up with simplier expressions for 
> joins (hash, merge, inner, outer, etc...) as those only care about equality.
> By adding this as an interface we make no assumptions about what it means to 
> be equal, just that some implementation needs to exist adhering to the 
> Equalitor interface which will determine if two tuples are logically 
> equal. 
> We do define at least one concrete class which checks for equality but that 
> does not preclude others from adding additional concrete classes with their 
> own logic in place.



--
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] [Commented] (SOLR-7513) Add Equalitors to Streaming Expressions

2015-06-19 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on SOLR-7513:
---

Commit 1686481 from [~joel.bernstein] in branch 'dev/trunk'
[ https://svn.apache.org/r1686481 ]

SOLR-7513, SOLR-7528: Add Equalitors to Streaming Expressions

> Add Equalitors to Streaming Expressions
> ---
>
> Key: SOLR-7513
> URL: https://issues.apache.org/jira/browse/SOLR-7513
> Project: Solr
>  Issue Type: Improvement
>  Components: clients - java
>Affects Versions: Trunk
>Reporter: Dennis Gove
>Assignee: Joel Bernstein
>Priority: Minor
> Fix For: 5.3
>
> Attachments: SOLR-7513.patch, SOLR-7513.patch, SOLR-7513.patch, 
> SOLR-7513.patch
>
>
> Right now all streams use the Comparator interface to compare tuples. 
> The Comparator interface will tell you if tupleA is before, after, or equal 
> to tupleB. This is great for most streams as they use this logic when 
> combining multiple streams together. However, some streams only care about 
> the equality of two tuples and the less/greater than logic is unnecessary.
> This depends on SOLR-7377.
> This patch is to introduce a new interface into streaming expressions called 
> Equalitor which will return if two tuples are equal. The benefit here 
> is that the expressions for streams using Equalitor instead of Comparator can 
> omit the ordering part.
> {code}
> unique(somestream, over="fieldA asc, fieldB desc")
> {code}
> can become
> {code}
> unique(somestream, over="fieldA,fieldB")
> {code}
> The added benefit is that this will set us up with simplier expressions for 
> joins (hash, merge, inner, outer, etc...) as those only care about equality.
> By adding this as an interface we make no assumptions about what it means to 
> be equal, just that some implementation needs to exist adhering to the 
> Equalitor interface which will determine if two tuples are logically 
> equal. 
> We do define at least one concrete class which checks for equality but that 
> does not preclude others from adding additional concrete classes with their 
> own logic in place.



--
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] [Commented] (SOLR-7513) Add Equalitors to Streaming Expressions

2015-06-19 Thread Joel Bernstein (JIRA)

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

Joel Bernstein commented on SOLR-7513:
--

This patch looks good to me and we have some pretty good tests behind it. the 
Streaming API tests, the Streaming Expressions tests and the Parallel SQL tests 
all exercise this code base. I plan to commit this to trunk shortly.

> Add Equalitors to Streaming Expressions
> ---
>
> Key: SOLR-7513
> URL: https://issues.apache.org/jira/browse/SOLR-7513
> Project: Solr
>  Issue Type: Improvement
>  Components: clients - java
>Affects Versions: Trunk
>Reporter: Dennis Gove
>Assignee: Joel Bernstein
>Priority: Minor
> Fix For: 5.3
>
> Attachments: SOLR-7513.patch, SOLR-7513.patch, SOLR-7513.patch, 
> SOLR-7513.patch
>
>
> Right now all streams use the Comparator interface to compare tuples. 
> The Comparator interface will tell you if tupleA is before, after, or equal 
> to tupleB. This is great for most streams as they use this logic when 
> combining multiple streams together. However, some streams only care about 
> the equality of two tuples and the less/greater than logic is unnecessary.
> This depends on SOLR-7377.
> This patch is to introduce a new interface into streaming expressions called 
> Equalitor which will return if two tuples are equal. The benefit here 
> is that the expressions for streams using Equalitor instead of Comparator can 
> omit the ordering part.
> {code}
> unique(somestream, over="fieldA asc, fieldB desc")
> {code}
> can become
> {code}
> unique(somestream, over="fieldA,fieldB")
> {code}
> The added benefit is that this will set us up with simplier expressions for 
> joins (hash, merge, inner, outer, etc...) as those only care about equality.
> By adding this as an interface we make no assumptions about what it means to 
> be equal, just that some implementation needs to exist adhering to the 
> Equalitor interface which will determine if two tuples are logically 
> equal. 
> We do define at least one concrete class which checks for equality but that 
> does not preclude others from adding additional concrete classes with their 
> own logic in place.



--
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] [Commented] (SOLR-7513) Add Equalitors to Streaming Expressions

2015-06-19 Thread Joel Bernstein (JIRA)

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

Joel Bernstein commented on SOLR-7513:
--

First impression that it all looks good. I like the StreamComparator introduced 
in SOLR-7528 and Equalitors are a nice design. I'll review the changes some and 
run all the tests.

> Add Equalitors to Streaming Expressions
> ---
>
> Key: SOLR-7513
> URL: https://issues.apache.org/jira/browse/SOLR-7513
> Project: Solr
>  Issue Type: Improvement
>  Components: clients - java
>Affects Versions: Trunk
>Reporter: Dennis Gove
>Assignee: Joel Bernstein
>Priority: Minor
> Fix For: 5.3
>
> Attachments: SOLR-7513.patch, SOLR-7513.patch, SOLR-7513.patch
>
>
> Right now all streams use the Comparator interface to compare tuples. 
> The Comparator interface will tell you if tupleA is before, after, or equal 
> to tupleB. This is great for most streams as they use this logic when 
> combining multiple streams together. However, some streams only care about 
> the equality of two tuples and the less/greater than logic is unnecessary.
> This depends on SOLR-7377.
> This patch is to introduce a new interface into streaming expressions called 
> Equalitor which will return if two tuples are equal. The benefit here 
> is that the expressions for streams using Equalitor instead of Comparator can 
> omit the ordering part.
> {code}
> unique(somestream, over="fieldA asc, fieldB desc")
> {code}
> can become
> {code}
> unique(somestream, over="fieldA,fieldB")
> {code}
> The added benefit is that this will set us up with simplier expressions for 
> joins (hash, merge, inner, outer, etc...) as those only care about equality.
> By adding this as an interface we make no assumptions about what it means to 
> be equal, just that some implementation needs to exist adhering to the 
> Equalitor interface which will determine if two tuples are logically 
> equal. 
> We do define at least one concrete class which checks for equality but that 
> does not preclude others from adding additional concrete classes with their 
> own logic in place.



--
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] [Commented] (SOLR-7513) Add Equalitors to Streaming Expressions

2015-06-19 Thread Joel Bernstein (JIRA)

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

Joel Bernstein commented on SOLR-7513:
--

The latest patch also includes the work from SOLR-7528.

> Add Equalitors to Streaming Expressions
> ---
>
> Key: SOLR-7513
> URL: https://issues.apache.org/jira/browse/SOLR-7513
> Project: Solr
>  Issue Type: Improvement
>  Components: clients - java
>Affects Versions: Trunk
>Reporter: Dennis Gove
>Assignee: Joel Bernstein
>Priority: Minor
> Fix For: 5.3
>
> Attachments: SOLR-7513.patch, SOLR-7513.patch, SOLR-7513.patch
>
>
> Right now all streams use the Comparator interface to compare tuples. 
> The Comparator interface will tell you if tupleA is before, after, or equal 
> to tupleB. This is great for most streams as they use this logic when 
> combining multiple streams together. However, some streams only care about 
> the equality of two tuples and the less/greater than logic is unnecessary.
> This depends on SOLR-7377.
> This patch is to introduce a new interface into streaming expressions called 
> Equalitor which will return if two tuples are equal. The benefit here 
> is that the expressions for streams using Equalitor instead of Comparator can 
> omit the ordering part.
> {code}
> unique(somestream, over="fieldA asc, fieldB desc")
> {code}
> can become
> {code}
> unique(somestream, over="fieldA,fieldB")
> {code}
> The added benefit is that this will set us up with simplier expressions for 
> joins (hash, merge, inner, outer, etc...) as those only care about equality.
> By adding this as an interface we make no assumptions about what it means to 
> be equal, just that some implementation needs to exist adhering to the 
> Equalitor interface which will determine if two tuples are logically 
> equal. 
> We do define at least one concrete class which checks for equality but that 
> does not preclude others from adding additional concrete classes with their 
> own logic in place.



--
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] [Commented] (SOLR-7513) Add Equalitors to Streaming Expressions

2015-05-11 Thread Ramkumar Aiyengar (JIRA)

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

Ramkumar Aiyengar commented on SOLR-7513:
-

Keep in mind that branch_5x still has only Java 7 as a requirement..

> Add Equalitors to Streaming Expressions
> ---
>
> Key: SOLR-7513
> URL: https://issues.apache.org/jira/browse/SOLR-7513
> Project: Solr
>  Issue Type: Improvement
>  Components: clients - java
>Affects Versions: Trunk
>Reporter: Dennis Gove
>Priority: Minor
> Attachments: SOLR-7513.patch
>
>
> Right now all streams use the Comparator interface to compare tuples. 
> The Comparator interface will tell you if tupleA is before, after, or equal 
> to tupleB. This is great for most streams as they use this logic when 
> combining multiple streams together. However, some streams only care about 
> the equality of two tuples and the less/greater than logic is unnecessary.
> This depends on SOLR-7377.
> This patch is to introduce a new interface into streaming expressions called 
> Equalitor which will return if two tuples are equal. The benefit here 
> is that the expressions for streams using Equalitor instead of Comparator can 
> omit the ordering part.
> {code}
> unique(somestream, over="fieldA asc, fieldB desc")
> {code}
> can become
> {code}
> unique(somestream, over="fieldA,fieldB")
> {code}
> The added benefit is that this will set us up with simplier expressions for 
> joins (hash, merge, inner, outer, etc...) as those only care about equality.
> By adding this as an interface we make no assumptions about what it means to 
> be equal, just that some implementation needs to exist adhering to the 
> Equalitor interface which will determine if two tuples are logically 
> equal. 
> We do define at least one concrete class which checks for equality but that 
> does not preclude others from adding additional concrete classes with their 
> own logic in place.



--
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] [Commented] (SOLR-7513) Add Equalitors to Streaming Expressions

2015-05-10 Thread Dennis Gove (JIRA)

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

Dennis Gove commented on SOLR-7513:
---

I'm pretty sure I want to change this to instead use Java's BiPredicate 
interface

https://docs.oracle.com/javase/8/docs/api/java/util/function/BiPredicate.html

> Add Equalitors to Streaming Expressions
> ---
>
> Key: SOLR-7513
> URL: https://issues.apache.org/jira/browse/SOLR-7513
> Project: Solr
>  Issue Type: Improvement
>  Components: clients - java
>Affects Versions: Trunk
>Reporter: Dennis Gove
>Priority: Minor
> Attachments: SOLR-7513.patch
>
>
> Right now all streams use the Comparator interface to compare tuples. 
> The Comparator interface will tell you if tupleA is before, after, or equal 
> to tupleB. This is great for most streams as they use this logic when 
> combining multiple streams together. However, some streams only care about 
> the equality of two tuples and the less/greater than logic is unnecessary.
> This depends on SOLR-7377.
> This patch is to introduce a new interface into streaming expressions called 
> Equalitor which will return if two tuples are equal. The benefit here 
> is that the expressions for streams using Equalitor instead of Comparator can 
> omit the ordering part.
> {code}
> unique(somestream, over="fieldA asc, fieldB desc")
> {code}
> can become
> {code}
> unique(somestream, over="fieldA,fieldB")
> {code}
> The added benefit is that this will set us up with simplier expressions for 
> joins (hash, merge, inner, outer, etc...) as those only care about equality.
> By adding this as an interface we make no assumptions about what it means to 
> be equal, just that some implementation needs to exist adhering to the 
> Equalitor interface which will determine if two tuples are logically 
> equal. 
> We do define at least one concrete class which checks for equality but that 
> does not preclude others from adding additional concrete classes with their 
> own logic in place.



--
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