[jira] [Commented] (SOLR-9687) Values not assigned to all valid Interval Facet intervals in some cases
[ https://issues.apache.org/jira/browse/SOLR-9687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15605783#comment-15605783 ] Andy Chillrud commented on SOLR-9687: - Thanks Tomás. You guys are quick! > Values not assigned to all valid Interval Facet intervals in some cases > --- > > Key: SOLR-9687 > URL: https://issues.apache.org/jira/browse/SOLR-9687 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: faceting >Affects Versions: 5.3.1 >Reporter: Andy Chillrud >Assignee: Tomás Fernández Löbbe > Fix For: 6.3, master (7.0) > > Attachments: SOLR-9687.patch > > > Using the interval facet definitions: > * \{!key=Positive}(0,*] > * \{!key=Zero}\[0,0] > * \{!key=Negative}(*,0) > A document with the value "0" in the numeric field the intervals are being > applied to is not counted in the Zero interval. If I change the order of the > definitions to , Negative, Zero, Positive the "0" value is correctly counted > in the Zero interval. > Tracing into the 5.3.1 code the problem is in the > org.apache.solr.request.IntervalFacets class. When the getSortedIntervals() > method sorts the interval definitions for a field by their starting value is > doesn't take into account the startOpen property. When two intervals have > equal start values it needs to sort intervals where startOpen == false before > intervals where startOpen == true. > In the accumIntervalWithValue() method it checks which intervals each > document value should be considered a match for. It iterates through the > sorted intervals and stops checking subsequent intervals when > LOWER_THAN_START result is returned. If the Positive interval is sorted > before the Zero interval it never checks a zero value against the Zero > interval. > I compared the 5.3.1 version of the IntervalFacets class against the 6.2.1 > code, and it looks like the same issue will occur in 6.2.1. -- 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-9687) Values not assigned to all valid Interval Facet intervals in some cases
[ https://issues.apache.org/jira/browse/SOLR-9687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15604007#comment-15604007 ] Tomás Fernández Löbbe commented on SOLR-9687: - This is the commit to master: ce57e8a8f4274db9ad1a78f06d37a7c9e02b3fb8 I forgot to include the Jira code in the commit comment. > Values not assigned to all valid Interval Facet intervals in some cases > --- > > Key: SOLR-9687 > URL: https://issues.apache.org/jira/browse/SOLR-9687 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: faceting >Affects Versions: 5.3.1 >Reporter: Andy Chillrud >Assignee: Tomás Fernández Löbbe > Attachments: SOLR-9687.patch > > > Using the interval facet definitions: > * \{!key=Positive}(0,*] > * \{!key=Zero}\[0,0] > * \{!key=Negative}(*,0) > A document with the value "0" in the numeric field the intervals are being > applied to is not counted in the Zero interval. If I change the order of the > definitions to , Negative, Zero, Positive the "0" value is correctly counted > in the Zero interval. > Tracing into the 5.3.1 code the problem is in the > org.apache.solr.request.IntervalFacets class. When the getSortedIntervals() > method sorts the interval definitions for a field by their starting value is > doesn't take into account the startOpen property. When two intervals have > equal start values it needs to sort intervals where startOpen == false before > intervals where startOpen == true. > In the accumIntervalWithValue() method it checks which intervals each > document value should be considered a match for. It iterates through the > sorted intervals and stops checking subsequent intervals when > LOWER_THAN_START result is returned. If the Positive interval is sorted > before the Zero interval it never checks a zero value against the Zero > interval. > I compared the 5.3.1 version of the IntervalFacets class against the 6.2.1 > code, and it looks like the same issue will occur in 6.2.1. -- 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-9687) Values not assigned to all valid Interval Facet intervals in some cases
[ https://issues.apache.org/jira/browse/SOLR-9687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15604000#comment-15604000 ] ASF subversion and git services commented on SOLR-9687: --- Commit 96e847a10c532663e39ad2de184ed8582e5eb0e2 in lucene-solr's branch refs/heads/branch_6x from Tomas Fernandez Lobbe [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=96e847a ] SOLR-9687: Fixed Interval Facet count issue in cases of open/close intervals on the same values > Values not assigned to all valid Interval Facet intervals in some cases > --- > > Key: SOLR-9687 > URL: https://issues.apache.org/jira/browse/SOLR-9687 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: faceting >Affects Versions: 5.3.1 >Reporter: Andy Chillrud >Assignee: Tomás Fernández Löbbe > Attachments: SOLR-9687.patch > > > Using the interval facet definitions: > * \{!key=Positive}(0,*] > * \{!key=Zero}\[0,0] > * \{!key=Negative}(*,0) > A document with the value "0" in the numeric field the intervals are being > applied to is not counted in the Zero interval. If I change the order of the > definitions to , Negative, Zero, Positive the "0" value is correctly counted > in the Zero interval. > Tracing into the 5.3.1 code the problem is in the > org.apache.solr.request.IntervalFacets class. When the getSortedIntervals() > method sorts the interval definitions for a field by their starting value is > doesn't take into account the startOpen property. When two intervals have > equal start values it needs to sort intervals where startOpen == false before > intervals where startOpen == true. > In the accumIntervalWithValue() method it checks which intervals each > document value should be considered a match for. It iterates through the > sorted intervals and stops checking subsequent intervals when > LOWER_THAN_START result is returned. If the Positive interval is sorted > before the Zero interval it never checks a zero value against the Zero > interval. > I compared the 5.3.1 version of the IntervalFacets class against the 6.2.1 > code, and it looks like the same issue will occur in 6.2.1. -- 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-9687) Values not assigned to all valid Interval Facet intervals in some cases
[ https://issues.apache.org/jira/browse/SOLR-9687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15602641#comment-15602641 ] Tomás Fernández Löbbe commented on SOLR-9687: - Thanks [~andycsolr], I'll take a look later today. If you can, this is how you can generate a patch: https://wiki.apache.org/solr/HowToContribute#Contributing_Code_.28Features.2C_Bug_Fixes.2C_Tests.2C_etc29 You can also do a pull request if you are familiar with github, https://wiki.apache.org/solr/HowToContribute#Working_with_GitHub > Values not assigned to all valid Interval Facet intervals in some cases > --- > > Key: SOLR-9687 > URL: https://issues.apache.org/jira/browse/SOLR-9687 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: faceting >Affects Versions: 5.3.1 >Reporter: Andy Chillrud > > Using the interval facet definitions: > * \{!key=Positive}(0,*] > * \{!key=Zero}\[0,0] > * \{!key=Negative}(*,0) > A document with the value "0" in the numeric field the intervals are being > applied to is not counted in the Zero interval. If I change the order of the > definitions to , Negative, Zero, Positive the "0" value is correctly counted > in the Zero interval. > Tracing into the 5.3.1 code the problem is in the > org.apache.solr.request.IntervalFacets class. When the getSortedIntervals() > method sorts the interval definitions for a field by their starting value is > doesn't take into account the startOpen property. When two intervals have > equal start values it needs to sort intervals where startOpen == false before > intervals where startOpen == true. > In the accumIntervalWithValue() method it checks which intervals each > document value should be considered a match for. It iterates through the > sorted intervals and stops checking subsequent intervals when > LOWER_THAN_START result is returned. If the Positive interval is sorted > before the Zero interval it never checks a zero value against the Zero > interval. > I compared the 5.3.1 version of the IntervalFacets class against the 6.2.1 > code, and it looks like the same issue will occur in 6.2.1. -- 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-9687) Values not assigned to all valid Interval Facet intervals in some cases
[ https://issues.apache.org/jira/browse/SOLR-9687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15602338#comment-15602338 ] Andy Chillrud commented on SOLR-9687: - Couldn't figure out how to create a patch file, but I was able to resolve the issue in Solr 5.3.1 by modifying the getSortedIntervals() method. Replaced the last line of the method {code} return o1.start.compareTo(o2.start); {code} with {code} int startComparison = o1.start.compareTo(o2.start); if (startComparison == 0) { if (o1.startOpen != o2.startOpen) { if (!o1.startOpen) { return -1; } else { return 1; } } } return startComparison; {code} > Values not assigned to all valid Interval Facet intervals in some cases > --- > > Key: SOLR-9687 > URL: https://issues.apache.org/jira/browse/SOLR-9687 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: faceting >Affects Versions: 5.3.1 >Reporter: Andy Chillrud > > Using the interval facet definitions: > * \{!key=Positive}(0,*] > * \{!key=Zero}\[0,0] > * \{!key=Negative}(*,0) > A document with the value "0" in the numeric field the intervals are being > applied to is not counted in the Zero interval. If I change the order of the > definitions to , Negative, Zero, Positive the "0" value is correctly counted > in the Zero interval. > Tracing into the 5.3.1 code the problem is in the > org.apache.solr.request.IntervalFacets class. When the getSortedIntervals() > method sorts the interval definitions for a field by their starting value is > doesn't take into account the startOpen property. When two intervals have > equal start values it needs to sort intervals where startOpen == false before > intervals where startOpen == true. > In the accumIntervalWithValue() method it checks which intervals each > document value should be considered a match for. It iterates through the > sorted intervals and stops checking subsequent intervals when > LOWER_THAN_START result is returned. If the Positive interval is sorted > before the Zero interval it never checks a zero value against the Zero > interval. > I compared the 5.3.1 version of the IntervalFacets class against the 6.2.1 > code, and it looks like the same issue will occur in 6.2.1. -- 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