Hi Yonik,

>> While thinking about SOLR-1131, something important just came to mind. If we
>> allow poly fields to add fields to the schema (be it via dynamic fields, or
>> explicit field decls, either way), then we introduce a disconnect between
>> the existing XML schema, and the runtime schema instance. To my knowledge
>> there is no write-back/flush back for changes made to the schema at
>> run-time, and what's loaded on startup (correct me if I'm wrong).
> 
> There are other pros/cons to dynamically inserting field definitions,
> but this isn't one of them I think (provided that created fields are
> deterministically created at the same time as the poly field.)
> There's no need to write-back.

I disagree. Without defining the DynamicField's offline by editing the
schema.xml file before running SOLR, if fields are created on-the-fly by a
PolyField during SOLR runtime, the schema.xml file is out of sync with the
runtime IndexSchema instance.

> 
>> Also, I'm (ack!) now leaning towards
>> dynamic fields as a flexible method to do this (so long as they are
>> pre-declared in the schema.xml file explicitly)
> 
> I think Grant & I are now on the same page about using dynamic fields.
>  The remaining issue / option is if one must declare the dynamic
> fields in the schema, or if another field type (like a poly field, but
> it doesn't have to be) can insert the dynamic field definition if it
> doesn't exist.

+1. My point is: one must declare the dynamic fields in the schema that the
poly fields will use, ahead of time or you risk the drift I'm talking about.

> 
>> -- that way you don't have
>> to create (n+10) * m fields for a 10-dimensional point that's stored as well
>> as indexed.
> 
> AFAIK, there are no options currently on the table that would create
> (or require) field definitions for every poly-type field used.
> 
> So perhaps we are actually all on the same page now (with the open
> question of if we should explicit define the dynamic field definition
> for the point type that will end up being added to the example
> schema).

My +1 for being explicit rather than implicit -- let's require the
schema.xml editor person to define, ahead-of-time, the dynamicFiels that a
polyField will use. This will keep schema.xml and the runtime IndexSchema in
sync.

Cheers,
Chris

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chris Mattmann, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 171-266B, Mailstop: 171-246
Email: chris.mattm...@jpl.nasa.gov
WWW:   http://sunset.usc.edu/~mattmann/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adjunct Assistant Professor, Computer Science Department University of
Southern California, Los Angeles, CA 90089 USA
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Reply via email to