OK, that's good you got to the bottom of it.

This is (for better or worse) how FieldCache works.  It uninverts the
requested field to reconstruct the "forward" index (mapping docID ->
value), so the field must be indexed (and every field must have a
single token/value).

I agree it's odd... and there's work underway to add index values to
Lucene (called column-stride fields):

    https://issues.apache.org/jira/browse/LUCENE-2186

These would be directly stored in the index in "forward" index form.

Mike

On Wed, Aug 18, 2010 at 2:31 PM,  <karl.wri...@nokia.com> wrote:
> This field was *not* indexed, just stored.  That seems to have been the 
> problem.  Not sure why it must be indexed to be retrievable, but clearly it 
> does.
>
> Karl
>
> -----Original Message-----
> From: ext Michael McCandless [mailto:luc...@mikemccandless.com]
> Sent: Wednesday, August 18, 2010 2:28 PM
> To: dev@lucene.apache.org
> Subject: Re: Question about string retrieval with FieldCache in trunk
>
> Odd... the field is definitely indexed?  If you try getTermsIndex are
> they still empty?
>
> Are you just calling .utf8ToString() to get the String from the BytesRef?
>
> Mike
>
> On Wed, Aug 18, 2010 at 1:18 PM,  <karl.wri...@nokia.com> wrote:
>> Thanks, didn't think to look there.
>>
>> Unfortunately I'm still getting back empty strings - and this is for a 
>> required field.  So something isn't right...
>>
>> Maybe I'll pester Simon. ;-)
>> Karl
>>
>> -----Original Message-----
>> From: ext Michael McCandless [mailto:luc...@mikemccandless.com]
>> Sent: Wednesday, August 18, 2010 12:43 PM
>> To: dev@lucene.apache.org
>> Subject: Re: Question about string retrieval with FieldCache in trunk
>>
>> Also note that the MIGRATE.txt in the lucene subdir should cover this.
>>
>> Mike
>>
>> Sent from my iPad
>>
>> On Aug 18, 2010, at 11:26 AM, Jason Rutherglen <jason.rutherg...@gmail.com> 
>> wrote:
>>
>>> Karl,
>>>
>>> I believe one may pass an empty BytesRef in, and the values will be
>>> set within the getTerm method.
>>>
>>> On Wed, Aug 18, 2010 at 8:18 AM,  <karl.wri...@nokia.com> wrote:
>>>> Exactly. getTerms() returns a DocTerms, which has this:
>>>>
>>>>    /** The BytesRef argument must not be null; the method
>>>>     *  returns the same BytesRef, or an empty (length=0)
>>>>     *  BytesRef if the doc did not have this field or was
>>>>     *  deleted. */
>>>>    public abstract BytesRef getTerm(int docID, BytesRef ret);
>>>>
>>>> How in the blazes do you create the correct BytesRef in the first place?  
>>>> Or is the comment wrong?
>>>>
>>>> Karl
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: ysee...@gmail.com [mailto:ysee...@gmail.com] On Behalf Of ext Yonik 
>>>> Seeley
>>>> Sent: Wednesday, August 18, 2010 10:55 AM
>>>> To: dev@lucene.apache.org
>>>> Subject: Re: Question about string retrieval with FieldCache in trunk
>>>>
>>>> Check out getTerms and getTermsIndex
>>>>
>>>> -Yonik
>>>> http://www.lucidimagination.com
>>>>
>>>> On Wed, Aug 18, 2010 at 10:49 AM,  <karl.wri...@nokia.com> wrote:
>>>>> Hi folks,
>>>>>
>>>>> What is the proper way to retrieve a string field from lucene in trunk?  
>>>>> I'm
>>>>> specifically looking for the equivalent of:
>>>>>
>>>>> String[] fieldValues = FieldCache.DEFAULT.getStrings(reader,fieldName);
>>>>> String actualValue = fieldValues[luceneID-docBase];
>>>>>
>>>>> The getStrings() method seems to have gone away in FieldCache.java, and 
>>>>> it's
>>>>> not clear how to work with ByteRefs to do the equivalent.  Any hints?
>>>>>
>>>>> Karl
>>>>>
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>

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

Reply via email to