lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Male (JIRA)" <>
Subject [jira] [Commented] (LUCENE-4167) Remove the use of SpatialOperation
Date Thu, 28 Jun 2012 12:43:43 GMT


Chris Male commented on LUCENE-4167:

Somewhat related to this is the Filter/Query distinction. Minutes ago I had the realization
that makeQuery() could have a fixed implementation based on makeFilter() with makeValueSource()
(for the distance). It's already committed so you can see. Assuming you also think it makes
a good default implementation, this suggests any variety of makeXXXXQuery would call the same
method, which seems less than ideal but not terrible.

Now I think about it, what exactly are the purposes of makeQuery and makeValueSource()? I
don't think it's clear.  Does makeQuery() have to score the same Documents as makeFilter()
identifies?  We don't verify that they do.  What does the score for makeQuery() mean? Is it
always the distance between the centre of two Shapes? I can think of a IsDisJoint scenario
where the two Shapes are disjoint but they have the same central point.  Consequently is the
score related to the operation? What is makeValueSource() all about then? does it return the
same score for the same Document as makeQuery() just doesn't do any filtering as well?
> Remove the use of SpatialOperation
> ----------------------------------
>                 Key: LUCENE-4167
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: modules/spatial
>            Reporter: Chris Male
>         Attachments: LUCENE-4167.patch
> Looking at the code in TwoDoublesStrategy I noticed SpatialOperations.BBoxWithin vs isWithin
which confused me.  Looking over the other Strategys I see that really only isWithin and Intersects
is supported.  Only TwoDoublesStrategy supports IsDisjointTo.  The remainder of SpatialOperations
are not supported.
> I don't think we should use SpatialOperation as this stage since it is not clear what
Operations are supported by what Strategys, many Operations are not supported, and the code
for handling the Operations is usually the same.  We can spin off the code for TwoDoublesStrategy's
IsDisjointTo support into a different Strategy.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message