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. 

> 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...

> 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... 

> 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]

Reply via email to