Ard Schrijvers wrote:

Since IMO this is such a performance and scalability improvement I want to
discuss the backwards compatability for older jackrabbit releases which have
an index which is not suitable for this new approach. Checking the current
index at startup and then fallback to old index style if no fieldName
FieldNames.PROPERTIES_SET is present seems a little "hacky" to me to
implement. What I would like is to enable people to choose between two index
types within the searchindex configuration, something like:

<param name="index-type" value="old"/> old|new

Well I don't think it's that hacky. All values you set in the search index configuration end up in SearchIndex anyway. AFAIK all you need to do there is to add the following line to SearchIndex.doInit():

boolean propertySetSupported = index.getIndexReader().getFieldNames(
    FieldOption.ALL).contains(FieldNames.PROPERTIES)
    || index.getIndexReader().numDocs() == 0;

I think it might become "hacky" if this flag is used all over the place to decide how to handle certain queries. I'll comment on Marcels reponse to discuss this.

Cheers,
Christoph

Reply via email to