[EMAIL PROTECTED] wrote:
Quoting Ryan McKinley <[EMAIL PROTECTED]>:
The way we plan to use Solr together with a Content Management
System is that the authors/editors can create new article/document
types when needed, without any need to restart anything.
Do you really need to change the schema? Your CMS will transform from
blog software to invoice tracking to forum without restarting?
Well, it will not transform in that way :)
But new article/document types gets created every once in a while. And
the CMS in itself has no restart-requirements before they can be used.
The only limitation we have is that new or updated presentation jsp
pages needs to be transfered to the live server, and this is done by the
build (and that involves a tomcat restart). But sometimes we have no
need to add/update jsp files, but we still want to input content based
on new or updated article types, and index them, without restarting. And
we also want to be able to modify existing article types, so that the
fields gets indexed in a different way maybe, and reindex all
articles/documents while people still can do searches on the site.
With
clever use of dynamic fields this should be possible too.
Is that true also for changes made on how a specific field should be
indexed? The wiki example is:
<dynamicField name="*_i" type="integer" indexed="true" stored="true"/>
What if we want to change this from stored="true" to stored="false" or
something similar, without renaming the field?
But I must say, that in general I consider type information in the name
to be ugly design. What if we have a number field myNumber that we first
define as an int (or sint, to use solr semantics), and we call that
myNumber_i in solr? If we later feel that we should change this to be a
slong, then we need to change the name of the field to nyNumber_f.
In general, you need to be very careful when you change the schema
without reindexing. Many changes will break all search, some may be
just fine.
for example, if you change sint to slong anything already indexed as an
"sint" will be incompatible with the current settings. Likewise, if you
change the "stored" settings, it will only change thing for the incoming
documents.
I'm not saying its impossible -- it is just something you need to be
very careful with because a seemingly simple change can break a lot of
things (until you reinidex)
That said -- with the MultiCore stuff and SOLR-139, it is possible to
build a system that can be dynamically updated and managed.
ryan