Seems like we could handle this 2 ways... leave out the field if it's
not defined in the schema, or include it and write it out as a string.
I think either would probably be more useful than throwing an error
(which isn't really a request error but rather a schema/indexing
error).
Thoughts?
-Yonik
http://www.lucidimagination.com
On Fri, Apr 17, 2009 at 4:36 PM, Brian Whitman wrote:
> I have a solr index where we removed a field from the schema but it still
> had some documents with that field in it.
> Queries using the standard response handler had no problem but the
> &wt=python handler would break on any query (with fl="*" or asking for that
> field directly) with:
>
> SolrHTTPException: HTTP code=400, reason=undefined_field_oldfield
>
> I "fixed" it by putting that field back in the schema.
>
> One related weirdness is that fl=oldfield would cause the exception but not
> fl=othernonschemafield -- that is, it would only break on field names that
> were not in schema but were in the documents.
>
> I know this is undefined behavior territory but it was still weird that the
> standard response writer does not do this-- if you give a nonexistent field
> name to fl on wt=standard, either one that is in documents or is not -- it
> happily performs the query just skipping the ones that are not in the
> schema.
>