Yuchen,

Make sure the fields you are trying to read are stored (stored="true" in 
schema.xml)

 Otis
--
Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch



----- Original Message ----
> From: Yuchen Wang <yuc...@trulia.com>
> To: solr-user@lucene.apache.org
> Sent: Sunday, July 5, 2009 12:43:50 AM
> Subject: Problem in parsing non-string dynamic field by using IndexReader
> 
> I have a task to parse all documents in a solr index. I use Lucene
> IndexReader to read the index and go through each field from all documents.
> However, for float or int dynamic fields, the stringValue() call always
> returns some special characters. I tried tokenStreamValue, byteValue,
> readerValue, and they return null.
> Following is my method to parse the solr index. My question is, how can I
> get the values from non-string dynamic fields properly?
> 
>     public static void main(String[] args) throws Exception {
>         IndexReader reader =
> IndexReader.open("/path/to/my/index/directory");
> 
>         int total = reader.numDocs();
>         System.out.println("Total documents: " + total);
> 
>         for (int i = 0; i < 1; i++) {
>             Document d = reader.document(i);
> 
>             Listfields = d.getFields();
> 
>             for (Field f : fields) {
>                 String name = f.name();
>                 String val = f.stringValue();
> 
>                System.out.println("get field / value: [" + name + "=" + val
> + "]");            }
>         }
> 
>         reader.close();
>     }

Reply via email to