Am Mittwoch, 4. Februar 2004 16:56 schrieb Wallmer, Martin:
> Hi,
>
> > -----Original Message-----
> > From: Daniel Florey [mailto:[EMAIL PROTECTED]
> > Sent: Mittwoch, 4. Februar 2004 14:38
> > To: Slide Developers Mailing List
> > Subject: Re: proposal: integrate indexing - search
> >
> >
> > Hi Martin,
> > can you explain to me what is needed to take part in a two
> > phase commit?
> > I agree that we should have indexers that can take part in a
> > two phase commit.
>
> pls have a look at javax.transaction.xa.XAResource. These are the methods,
> that need to be implemented for two phase commit. If the indexer inherits
> from org.apache.slide.common.Service, a lot of infrastructure is available.

Thanks a lot.

>
> > I'm a little bit confused about what exactly is a store and
> > how two phase
> > commit is realized, so I might write nonsense on this topic...
> > So is it true that the indexer neither have to know anything
> > about the
>
> when the indexer is implemented as a store, it is initialized at startup
> within the namespace context. If indexer is configured outside the store
> (as suggested by Nick and Stefano), the namespace must be provided call by
> call...

I like this idea as well and will augment the events so that they provide the 
SlideToken and Namespace information.

>
> > namespace nor about the NodeResvisionDescriptors? Is the URI
> > enough? What
> > about revisions?
>
> very good point! When using Delta-V for creating revisions, each revsion of
> a resource has a unique uri. If you use the slide API to create revisions,
> this might be not true...

Don't know...
I thought about searching and revisions some time ago and thought it would be 
possibly a good idea to have one index per tag (in cvs terms) so that a 
search on a tagged version could be performed very fast without filtering the 
resources that belong to a tagged version afterwards.
But this makes everything even more complicated...

Daniel

>
> > I'd like to have all information that the indexer needs
> > specified in the
> > interfaces. So eventually the interface needs to know about
> > the SlideToken?
> > I think of some Indexer that is not transaction aware and a
> > XAIndexer that
> > extends Indexer and Service to enable two phase commit.
> > The interfaces might look like:
> >
> > public interface Indexer extends ExpressionFactory {
> >      void update(SlideToken token, Uri uri, NodeRevisionDescriptor
> > revisionDescriptor,
> >                 NodeRevisionContent revisionContent)
> >          throws ServiceAccessException;
> >
> >      void insert(SlideToken token, Uri uri, NodeRevisionDescriptor
> > revisionDescriptor,
> >                 NodeRevisionContent revisionContent)
> >          throws ServiceAccessException;
> >
> >      void drop(SlideToken token, Uri uri, NodeRevisionDescriptor
> > revisionDescriptor)
> >          throws ServiceAccessException;
> >
> >      // the ExpressionFactoryStuff (to be defined)
> > }
> >
> > public interface XAIndexer extends Indexer, Service {
> > }
> >
> > Must every indexer provide the expression factory stuff? In this case
> > Indexer-interface should extend ExpressionFactory.
>
> Yes, if your BasicSearch query shall take advantage of the created index...
>
>
> regards,
> Martin
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to