Hi Lance,

On 12/11/09 9:08 PM, "Lance Norskog" <goks...@gmail.com> wrote:

> There are already components (ExtractingRequestHandler, Deduplication)
> that secretly add fields which violate the schema. Personally I would
> nuke this ability; I've had major problems with junk in the indexed
> data and discovering secret fields would have made my head explode
> that much louder.

Yep, I agree. I originally felt that dynamic fields weren't the way to go,
but I came around and ended up thinking they are the way to go for this.
However, even though I think dynamic fields should be used for poly fields,
I _also_ think they should be pre-declared in the schema -- and not secretly
(as you put it) added at runtime (hence my mentioning of "drift"). It seems
that Hoss was for this as well:

http://www.lucidimagination.com/search/document/7f8ed6212481aca6/solr_1131_m
ultiple_fields_per_field_type

and I think he's right, though I remember going back and forth with him (and
others) about it in the beginning. The thing people have to realize here is
that there are 2 notions:

1. schema.xml -- edited by a user, offline before SOLR has started up,
loaded at runtime and turned into...
2. an IndexSchema instance, a Java object instance used to access the
schema.xml file loaded into a JVM. IndexSchema acts as a runtime model to
the underlying SOLR field typing system.

If #1 and #2 fall out of sync (which creating _any_ type of field in #2
does, without informing #1), then you have "drift".

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