[hibernate-dev] HSEARCH-706 - work in progress comments
Hardy Ferentschik
hibernate at ferentschik.de
Thu Mar 10 08:35:17 EST 2011
On Thu, 10 Mar 2011 13:27:30 +0100, Sanne Grinovero
<sanne.grinovero at gmail.com> wrote:
> It seems you're making a choice of the FieldCache type by looking at
> the classtype of the parameters of the FacetRequest.
> (which then invokes
> org.hibernate.search.query.fieldcache.FieldCacheLoadingType.getLoadingStrategy(String,
> Class<?>))
>
> Shouldn't it use the fieldName instead, to figure out the fieldbridges
> and options from the DocumentBuilder ?
Yes, I think I will need some information about the field bridges. Not
sure to which extend.
Faceting really only makes sense where I have fields with discrete
comparable values. Really
we are talking strings, numbers and dates.
I have seen your code in DocumentBuilderIndexedEntity and will have a
closer look, but first
I want to finish something else.
> I'm actually using the
> FieldCache.DEFAULT.getFloats/Ints/Doubles
> only in case it's indexed using the respective NumericField, all other
> cases are considered indexed as Strings, eventually converted back
> using the TwoWayStringBridge we enabled by default, or as overridden
> by use annotations.
The reason I am using int/float/double arrays is also because of the
required comparison
for range queries. Say I have a price expressed as an int and want a range
facet
for 10 - 1000. I need to numerically compare the field values against this
range and not
as string.
> I'd say that whatever TwoWayFieldBridge was configured, should be more
> reliable/flexible than to rely on Lucene's default int parser, but I'm
> not having strong opinions. Maybe we should have some more tests on
> special cases to make the implications clear.
Yes, we need more tests here. I'll be back on this one
More information about the hibernate-dev
mailing list