[ https://issues.apache.org/jira/browse/LUCENE-6685?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nicholas Knize updated LUCENE-6685: ----------------------------------- Attachment: LUCENE-6685.patch I put together a visualization of the ranges that were being created (will add the link to the video when I post it). This revealed some interesting issues. At precision_step 6 and detailLevel 16 the number of ranges for the worst case boundary condition were nearly 2 million. 100 iteration beast tests would take just over an hour. Reducing that precisionStep to 3 and the detailLevel to 12 reduced the number of ranges to just over 10K. The 100 iteration beast test was reduced from over an hour to just over 8 minutes. There was also a bug in the pointDistance query that added unnecessary high resolution ranges that fell within the bounding box but outside the actual pointRadius. > GeoPointInBBox/Distance queries should have safeguards > ------------------------------------------------------ > > Key: LUCENE-6685 > URL: https://issues.apache.org/jira/browse/LUCENE-6685 > Project: Lucene - Core > Issue Type: Improvement > Reporter: Michael McCandless > Fix For: 5.3, Trunk > > Attachments: LUCENE-6685.patch > > > These queries build a big list of term ranges, where the size of the list is > in proportion to how many cells of the space filling curve are "crossed" by > the perimeter of the query (I think?). > This can easily be 100s of MBs for a big enough query ... not to mention slow > to enumerate (we still do this again for each segment). > I think the queries should have safeguards, much like we have > maxDeterminizedStates for Automaton based queries, to prevent accidental > OOMEs. > But I think longer term we should either change the ranges to be enumerated > on-demand and never stored in entirety (like NumericRangeTermsEnum), or > change the query so it has a fixed budget of how many cells it's allowed to > visit and then within a crossing cell it uses doc values to post-filter. -- 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