You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by John Wang <jo...@gmail.com> on 2008/07/04 02:05:32 UTC
Re: changing index format
Hi Michael:
What is the plan/timeline for supporting flexible indexing?
Thanks
-John
On Wed, Jun 25, 2008 at 3:40 AM, Michael McCandless <
lucene@mikemccandless.com> wrote:
>
> John Wang wrote:
>
> The problem I am having is stated below, I don't know how to add the
>> minDoc and maxDoc values to the index while keeping backward compatibility.
>>
>
> Unfortunately, TermInfo file format just isn't extensible at the moment, so
> I think for now you'll have to break backward compatibility if you really
> want to store these new fields in the _X.tis/.tii files.
>
> EG here is another recent example of wanting to alter what's stored in
> TermInfo:
>
> https://issues.apache.org/jira/browse/LUCENE-1278
>
> For flexible indexing we clearly need to fix this, so that any "plugin" in
> the indexing chain could stuff whatever it wants into the TermInfo, and also
> override how TermInfo is read/written. Even the things we now store in
> TermInfo should be optional. EG say you choose not to store locations (prx)
> for a given field. Then, you would not need the long proxPointer.
>
> Mike
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org
>
>
Re: changing index format
Posted by Michael McCandless <lu...@mikemccandless.com>.
Well .... there really is no concrete plan/timeline at this point --
that is the nature of open source.
But there are some issues in flight that take us on the first few
steps towards flexible indexing.
I think LUCENE-1301 (which I'm working on and should be done soon, in
2.4 I think) is a first solid step forward, from a "top down"
standpoint. It breaks DocumentsWriter into an indexing chain where
each plugin in the chain does its own thing. Ie, there are separate
plugins to write stored fields, term vectors, frq/prx, norms, etc.
But it's only a first step. EG I'm not exposing any of these plugins
outside of oal.index package (eventually I hope to, but for starters
we need to let it mature internally).
LUCENE-1231, which I think Michael Busch is working on, would then
push another aspect of flexible indexing, by enabling efficient stored
fields (column stride) and extending Fieldable/AbstractField/Field so
you can separately turn on/off a-la-cart details about how a field is
indexed.
But neither of these issues addresses making the tii/tis files
extensible. To do that we'd need to take the plugin that writes frq/
prx and make it extensible, itself. Not only for writing your own
stuff into tii/tis files, but also eg NOT writing prx info if you
don't need it, making separate file for skip data or not, etc. The
discussions recently with Marvin about cleanly separating the
container (tii/tis) from the codecs (frq/prx/skip) also fit in here.
I think of this part as the "bottoms up" part of flexible indexing.
Mike
John Wang wrote:
> Hi Michael:
>
> What is the plan/timeline for supporting flexible indexing?
>
> Thanks
>
> -John
>
> On Wed, Jun 25, 2008 at 3:40 AM, Michael McCandless <lucene@mikemccandless.com
> > wrote:
>
> John Wang wrote:
>
> The problem I am having is stated below, I don't know how to add
> the minDoc and maxDoc values to the index while keeping backward
> compatibility.
>
> Unfortunately, TermInfo file format just isn't extensible at the
> moment, so I think for now you'll have to break backward
> compatibility if you really want to store these new fields in the
> _X.tis/.tii files.
>
> EG here is another recent example of wanting to alter what's stored
> in TermInfo:
>
> https://issues.apache.org/jira/browse/LUCENE-1278
>
> For flexible indexing we clearly need to fix this, so that any
> "plugin" in the indexing chain could stuff whatever it wants into
> the TermInfo, and also override how TermInfo is read/written. Even
> the things we now store in TermInfo should be optional. EG say you
> choose not to store locations (prx) for a given field. Then, you
> would not need the long proxPointer.
>
> Mike
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org