You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xindice-dev@xml.apache.org by Andy Armstrong <an...@tagish.com> on 2004/01/06 17:28:57 UTC
Replication
Hello,
Firstly thanks folks for Xindice; it seems to provide a load of
functionality that we're looking for.
Secondly: has there been any thought about supporting replication
between xindice servers? If not then it's something we'd be interested
in working on.
--
Andy Armstrong, Tagish
Re: Full text index, Re: Replication
Posted by Andy Armstrong <an...@tagish.com>.
Vadim Gritsenko wrote:
[snip]
> May be some tweaks would be required to index manager to make it
> properly work with this type of index, and that should be it.
Wow. That's a lot more of a start than I'd hoped for. Excellent, thanks.
I'm hoping we'll be able to start work on it next week.
--
Andy Armstrong, Tagish
Full text index, Re: Replication
Posted by Vadim Gritsenko <va...@reverycodes.com>.
Andy Armstrong wrote:
> The full text indexing thing actually takes precedence at the moment.
> I'll be having a look at that next week if anyone has any bright ideas :)
Actually, I was thinking about adding it too.
Full text index can be built on top of Lucene, by creating new type of
index. Currently, Xindice has NameIndexer and ValueIndexer,
implementations of the org.apache.xindice.core.indexer.Indexer
interface. New implementation should be added, can be called
TextIndexer, I guess (or, FullTextIndexer). Indexer interface already
defines what index patter should look like:
* getPattern returns the pattern recognized by this Indexer. Patterns
* must be in the form of (elem|*)[@(attr|*)] to tell the IndexManager
* which element types to send to it, so for example:
* <pre>
* contact@name Indexes all contacts by name attribute
* memo Indexes the text of all memo elements
* contact@* Indexes all contact attributes
* *@name Indexes the name attribute for all elements
* * Indexes the text of all elements
* *@* Indexes all attributes of all elements
* </pre>
And index style is already defined:
String STYLE_NODENAME = "Node:Name";
String STYLE_NODEVALUE = "Node:Value";
String STYLE_FULLTEXT = "Node:FullText";
May be some tweaks would be required to index manager to make it
properly work with this type of index, and that should be it.
Vadim
Re: Replication
Posted by Upayavira <uv...@upaya.co.uk>.
Andy Armstrong wrote:
> Vadim Gritsenko wrote:
>
>>> Firstly thanks folks for Xindice; it seems to provide a load of
>>> functionality that we're looking for.
>>>
>>> Secondly: has there been any thought about supporting replication
>>> between xindice servers? If not then it's something we'd be
>>> interested in working on.
>>
>>
>> No, there is no replication now. How do you want to approach it?
>
>
> Slowly :)
>
> Before doing anything else we need to alter our product to use Xindice
> - at the moment it's just storing documents on the filesystem. Once
> that's done I'll be thinking about the best ways to:
>
> * build full text indexes of the documents in a collection
> * replicate between Xindice servers
>
> We currently solve the full text problem by loading our whole document
> tree into memory at startup and building an index at that time. We
> then periodically scan the filesystem for updated documents and
> reload/reindex them accordingly so we need to be able to replace that
> mechanism without merely loading all the documents from Xindice at
> startup.
>
> The replication mechanism I'm most familiar with is the one Lotus
> Domino uses. The main problem if you're doing peer to peer replication
> is how to resolve update conflicts and I suspect that the 'right'
> solution depends to a significant extent on the application so my
> feeling is that that's the area that needs the most consideration.
>
> The full text indexing thing actually takes precedence at the moment.
> I'll be having a look at that next week if anyone has any bright ideas :)
>
The Apache Lucene project is a full text search engine. It is included
within Cocoon for doing full text searches of Cocoon based web sites
(see the Cocoon Lucene block in Cocoon under src/blocks/lucene for the
code). With the right interface, allowing Lucene to crawl documents in
your Xindice database, it could then build for you a full text index
that you can query at your leasure. Probably something that could be
quite useful as an option for all XIndice users.
Regards, Upayavira
Re: Replication
Posted by Andy Armstrong <an...@tagish.com>.
Vadim Gritsenko wrote:
>> Firstly thanks folks for Xindice; it seems to provide a load of
>> functionality that we're looking for.
>>
>> Secondly: has there been any thought about supporting replication
>> between xindice servers? If not then it's something we'd be interested
>> in working on.
>
> No, there is no replication now. How do you want to approach it?
Slowly :)
Before doing anything else we need to alter our product to use Xindice -
at the moment it's just storing documents on the filesystem. Once that's
done I'll be thinking about the best ways to:
* build full text indexes of the documents in a collection
* replicate between Xindice servers
We currently solve the full text problem by loading our whole document
tree into memory at startup and building an index at that time. We then
periodically scan the filesystem for updated documents and
reload/reindex them accordingly so we need to be able to replace that
mechanism without merely loading all the documents from Xindice at startup.
The replication mechanism I'm most familiar with is the one Lotus Domino
uses. The main problem if you're doing peer to peer replication is how
to resolve update conflicts and I suspect that the 'right' solution
depends to a significant extent on the application so my feeling is that
that's the area that needs the most consideration.
The full text indexing thing actually takes precedence at the moment.
I'll be having a look at that next week if anyone has any bright ideas :)
--
Andy Armstrong, Tagish
Re: Replication
Posted by Vadim Gritsenko <va...@reverycodes.com>.
Andy Armstrong wrote:
> Hello,
>
> Firstly thanks folks for Xindice; it seems to provide a load of
> functionality that we're looking for.
>
> Secondly: has there been any thought about supporting replication
> between xindice servers? If not then it's something we'd be interested
> in working on.
No, there is no replication now. How do you want to approach it?
Vadim