lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENE-7563) BKD index should compress unused leading bytes
Date Mon, 05 Dec 2016 12:05:58 GMT

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

Michael McCandless commented on LUCENE-7563:
--------------------------------------------

bq. I think there is just a redundant arraycopy in clone()?

Thanks, I pushed a fix!

bq. For the record, I played with another idea leveraging the fact that the prefix lengths
on two consecutive levels are likely close to each other,

I like this idea!  But I hit this test failure ... doesn't reproduce on trunk:

{noformat}
   [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestBKD -Dtests.method=testWastedLeadingBytes
-Dtests.seed=2E5F0E183BBA1098 -Dtests.locale=es-PR -Dtests.timezone=CST -Dtests.asserts=true
-Dtests.file.encoding=US-ASCII
   [junit4] ERROR   0.90s J1 | TestBKD.testWastedLeadingBytes <<<
   [junit4]    > Throwable #1: java.lang.ArrayIndexOutOfBoundsException: -32
   [junit4]    > 	at __randomizedtesting.SeedInfo.seed([2E5F0E183BBA1098:ABD9D50B47794EFC]:0)
   [junit4]    > 	at org.apache.lucene.util.bkd.BKDReader$PackedIndexTree.readNodeData(BKDReader.java:442)
   [junit4]    > 	at org.apache.lucene.util.bkd.BKDReader$PackedIndexTree.<init>(BKDReader.java:343)
   [junit4]    > 	at org.apache.lucene.util.bkd.BKDReader.getIntersectState(BKDReader.java:526)
   [junit4]    > 	at org.apache.lucene.util.bkd.BKDReader.intersect(BKDReader.java:498)
   [junit4]    > 	at org.apache.lucene.util.bkd.TestBKD.testWastedLeadingBytes(TestBKD.java:1042)
   [junit4]    > 	at java.lang.Thread.run(Thread.java:745)
{noformat}

> BKD index should compress unused leading bytes
> ----------------------------------------------
>
>                 Key: LUCENE-7563
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7563
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Michael McCandless
>             Fix For: master (7.0), 6.4
>
>         Attachments: LUCENE-7563-prefixlen-unary.patch, LUCENE-7563.patch, LUCENE-7563.patch,
LUCENE-7563.patch, LUCENE-7563.patch
>
>
> Today the BKD (points) in-heap index always uses {{dimensionNumBytes}} per dimension,
but if e.g. you are indexing {{LongPoint}} yet only use the bottom two bytes in a given segment,
we shouldn't store all those leading 0s in the index.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message