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

Chris Male commented on LUCENE-4167:
------------------------------------

{quote}
This is of course just one aspect of a Strategy's limitations, consider wether 
or not the Strategy supports multi-value data or wether it supports indexing 
non-point shapes. Surely that is quite relevant to a potential client. It seems 
very doubtful to me that the compile-time type checks could be added for 
everything
{quote}

Quite right and we can tackle these issues on a case by case basis.  Having a 
check like supportsMultiValued() on Strategys seems like a good idea.  That way 
the user can consult this method before indexing.

{quote}
And even with spatial operations – there are a lot of them to support, and 
wouldn't it be twice as many for both makeXXXQuery & makeXXXFilter? I don't 
know where you would draw the line. At least the current interface is fairly 
simple, and there is always Javadocs.
{quote}

We don't have any useful Javadocs on this issue so I'm not going to rely on 
that.  I don't see any issue with having a makeXXXQuery/Filter for each 
operation.  Strategys are essentially factories so I think the ability to see 
at compile time what the factory can create is vitally important.  If we get to 
20 operations I'll start to worry.
                
> Remove the use of SpatialOperation
> ----------------------------------
>
>                 Key: LUCENE-4167
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4167
>             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: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



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

Reply via email to