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

Karl Wright commented on LUCENE-7168:
-------------------------------------

[~mikemccand] Thinking it through further, here are some more ways we could 
proceed.

(1) Since the problem is that the numerically approximated point is not 
actually on the surface, I can provide a "projection" method, which will 
generate a point on the surface given an (x,y,z) that is not *quite* on the 
surface.  This has some cost because it will involve a sqrt operation per point 
so projected, but it is probably acceptable.  The question is, does it help?  
What would we do differently in BKD?

(2) I can, maybe in conjunction with (1) above, make geo3d shapes no longer 
find any point that is not on the surface to be "within" any surface shape.  
This is of trivial cost (but requires changes to a number of classes).  That 
will make the relationships not be confusing since points not on the surface 
will be excluded from the search, but it might mean that nothing gets returned 
at all from BKD *by design*. :-P

(3) I could add a method that would allow you to determine if a BKD cell 
intersected the surface or not.  This, however, is maybe not a good solution, 
because cells can intersect on two sides and I can foresee issues when one side 
just doesn't make it etc.  So maybe this won't help.

(4) When you stop to think about it, a quantized BKD point actually represents 
a little cell; it represents a range of possible values in x, y, and z.  If we 
knew what that range was, maybe we could compute intersection with each BKD 
cell.  This is a more robust way of looking at the "minimum BKD cell size" 
idea.  I could provide a construct, e.g. GeoFuzzyPoint, which would express 
this.  But we'd still need to figure out what operations you would need to be 
able to do with a fuzzy point in order to not have problems arise.  Would we 
need new "isWithin" methods?  Or just "getRelationship()" support between such 
fuzzy points and XYZSolids?  Or what, exactly?  Depending on the answer, the 
fuzzy point might be very similar in logic to the XYZSolid, so the cost of 
creating one would be similar (i.e. not trivially cheap).

Let's discuss possible solutions using these tools -- if not this morning then 
maybe at lunch. :-)


> Remove geo3d test leniency
> --------------------------
>
>                 Key: LUCENE-7168
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7168
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Michael McCandless
>             Fix For: master, 6.1
>
>         Attachments: LUCENE-7168.patch, LUCENE-7168.patch, LUCENE-7168.patch, 
> LUCENE-7168.patch, LUCENE-7168.patch
>
>
> Today the test hides possible failures by leniently handling quantization 
> issues.
> We should fix it to do what geo2d tests now do: pre-quantized indexed points, 
> but don't quantize query shapes.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to