lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mattmann, Chris A (388J)" <>
Subject Re: SOLR-1131: disconnect between fields created by poly fields
Date Fri, 11 Dec 2009 04:30:18 GMT
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


Chris Mattmann, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 171-266B, Mailstop: 171-246
Adjunct Assistant Professor, Computer Science Department University of
Southern California, Los Angeles, CA 90089 USA

View raw message