lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grant Ingersoll <>
Subject Re: SOLR-1131: Poly Fields and ValueSource
Date Thu, 10 Dec 2009 18:16:40 GMT

On Dec 10, 2009, at 12:37 PM, Grant Ingersoll wrote:

> OK, next up:
> How to handle the need to create multiple ValueSource instances for a given poly field?
 FieldType.getValueSource() only returns a single instance.
> I think there are a few options:
> 1. Change the signature above to return a list of ValueSources.  This likely has back
compat. issues.
> 2. Just change those functions that need to handle poly fields (the distance functions)
to worry about them and realize that the other functions won't work with them
> 3. Punt and require the user to know the secret handshake that is the naming convention
used.  In some regard, this is no different than what any developer would experience now when
using dynamic fields with function queries.

4. Create a derivative ValueSource called PolyValueSource that is a ValueSource that can "expand"
(kind of like a rewrite() method) to get the "sub" ValueSources.  Then, the functions that
can work with a poly field can check to see if the ValueSource is expandable and then do so.
 This way all existing functions work as is, we just need to make a couple of changes in the
ValueSourceParser when dealing with the distance functions.  This is a combination of 1 and
2, essentially.

5. Yonik suggested modifying DocValues (DocValues.polyVal(double [] valHolder)  - Yonik called
it getPoint(double [] val) but I think it should be more generic since a poly field isn't
point specific ) to be able to return multiple values per Document.
	GSI: I'm not sure this works w/o then needing to add in checks in the functions themselves
to deal w/ poly doc values, but I could be missing something. 
View raw message