Doug,

I'm looking forward to the collaboration!

> My current thinking is that the Solr search API is the appropriate
> model.  Solr's facets are an important feature that require low-level

I'm thinking, can we make the type of shard updater/searcher and
result merger configurable in a general distributed index system?
Vanilla Lucene is one type. Solr is another. Nutch could have one.
Applications can write their customized type (must be Lucene-based).
In case of a Solr-typed system, for example, an application sends
a search request to an index client. The index client sends the search
request to shard servers which host Solr searchers. The index client
uses the Solr result merger to merge the results from all the shards
and returns the merged result to the application.

> My primary difference with your proposal is that I would like to support
> online indexing.  Documents could be inserted and removed directly, and
> shards would synchronize changes amongst replicas, with an "eventual
> consistency" model.

I've been thinking about batch update vs. online update. :)
Is it possible to support both efficiently in one system?

We may say that a system which supports online update can
handle batch update. However, it depends on whether the updates
on a shard server are lost when the server goes down. In a
system targeting batch update, the entirety of a batch update
can simply be guaranteed by a map/reduce job.

Your thoughts?

The online update you described here is different from the one
you described in the Index Server Project proposal a while ago.
It was multi-reader single-writer before. Now it's multi-reader
multi-writer with eventual consistency. Is it because it is a more
general usage scenario that you think that latter supports?

Regards,
Ning

Reply via email to