[hibernate-dev] @Spatials

Emmanuel Bernard emmanuel at hibernate.org
Mon Jun 4 12:35:38 EDT 2012


On 4 juin 2012, at 17:03, Hardy Ferentschik wrote:

> 
> On Jun 4, 2012, at 4:51 PM, Emmanuel Bernard wrote:
> 
>> I don't think it can be SpatialValue as the annotations:
>> 
>> - marks the property describing the spatial coordinates
>> - describes how the data will be indexed wrt spatial indexing (strategy + fine tuning)
>> - describes the usual boost, etc properties
> 
> I don't see a contradiction between these points and @SpatialValue (at least w/ my current 
> understanding of the feature)
> 
>> It's the sister of @Field but @SpatialField is wrong as we are not storing data in one field but several.
> 
> Hmm, I would like the symmetry between @Field, @NumericField and @SpatialField. is it really a concern 
> that we are storing data into multiple fields. I don't think there is an expectation for a one to one mapping
> between @Field and the Lucene index. Using a custom field bridge any user can for example index a single
> property into multiple Document fields. 
> From this perspective @SpatialField just implies a special field bridge which creates multiple Document fields. 
> This would fit fine into my model on how Search works.

There are a few issues. @Spatial stands on its own and does not need @Field. @NumericField is a complement to @Field

    @Field(name="foo") @NumericField(forField="foo")

You can't model @Spatial like that because it's not attached to a given field. Plus most @Field properties do not apply.

There is an expectation that @Field maps to a Lucene field. We twisted that with custom field but you have to agree that this is not the common usage.
Also not that @Spatial can cross several java properties - or will in the near future. You will be able to mark properties as latitude or longitude for a given
spatial indexing.

I think the real reason I don't like @SpatialValue is because most of what we do is about value. No point putting it in a name.

Emmanuel


More information about the hibernate-dev mailing list