>From what I can tell from this email and without looking at the RDRH patch, it
>sound slike RDRH patch assumes that unique document ID field is called "id".
The unique doc field is defined in schema.xml. For example in
example/solr/conf/schema.xml we have:
<!-- Field to use to determine and enforce document uniqueness.
Unless this field is marked with required="false", it will be a required
field
-->
<uniqueKey>id</uniqueKey>
And we also have:
<field name="id" type="string" indexed="true" stored="true" required="true" />
Note it's of type "string".
Otis
--
Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch
----- Original Message ----
> From: Chris Harris <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Tuesday, May 13, 2008 4:39:42 PM
> Subject: ID field in RichDocumentRequestHandler (SOLR-284)
>
> As you probably know, the RichDocumentRequestHandler (SOLR-284) will
> index documents from a few different formats. You specify the document
> body in the HTTP POST request stream, the name of the Solr field where
> you wish to store the document body in the URL, and you can also
> specify (again in the URL) field name/field value pairs for other
> fields you want to be indexed along with the body.
>
> What I just noticed is that one particular field name, "id", gets
> special treatment, and I'm wondering if it actually needs special
> treatment.
>
> Currently, the handler requires a field named "id", and requires that
> it be an integer. The ID field is a special case when fields are being
> added to the document builder; the general case code looks like this:
>
> for (int i =0; i < fields.length;i++){
> String fieldName = fields[i].getName();
> String[] values = params.getParams(fieldName);
> for(String value : values) {
> builder.addField(fieldName,value,1.0f);
> }
> }
>
> while the ID-specific code looks like this:
>
> builder.addField("id", id + "", 1.0f);
>
> Outside of this field-adding code, though, the id field doesn't seem
> to be treated differently from any other field. I'm guessing that the
> id parameter is meant provide a unique key for the document you're
> indexing. Is there any reason to hard-code the name of that field,
> though, or to require it to be an integer? Maybe I would like to call
> my unique key field "key", for instance, and have its datatype be
> text.
>
> Hopefully I am being coherent.
>
> Chris