[
https://issues.apache.org/jira/browse/LUCENE-8828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16858681#comment-16858681
]
ASF subversion and git services commented on LUCENE-8828:
---------------------------------------------------------
Commit 67677d995e8fca6214844b0eb814d06138bce0a2 in lucene-solr's branch
refs/heads/master from Alan Woodward
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=67677d9 ]
LUCENE-8828: Make unorderedNoOverlaps a separate IntervalsSource
> Fix Intervals.unordered() without overlaps
> ------------------------------------------
>
> Key: LUCENE-8828
> URL: https://issues.apache.org/jira/browse/LUCENE-8828
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Alan Woodward
> Assignee: Alan Woodward
> Priority: Major
> Attachments: LUCENE-8828.patch
>
>
> LUCENE-8300 added an option to Intervals.unordered() which would attempt to
> find intervals that contained all of a set of subintervals where none of the
> subintervals overlapped. Unfortunately, this implementation was buggy, and
> could miss documents depending on the order in which the subintervals were
> passed to the factory method.
> After some digging around, I think that it is not in fact possible to
> implement this in anything other than n! time, because of the need to
> minimize the resulting intervals. My proposal is to remove the boolean flag,
> and instead implement an Intervals.unorderedNoOverlaps() method that takes
> only two subsources, and rewrites NO_OVERLAPS(a, b) to OR(ORDERED(a, b),
> ORDERED(b, a)). The usual simplifications will apply here, so NO_OVERLAPS(a,
> a) will end up as ORDERED(a, a)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]