I'm not sure I understand the question, but I'll hazard an answer anyway. Might it work to maintain separate indexes for B, C, E and F, then use a MultiSearcher to search them all? That would keep updates local...

Doug

Cohan, Sean wrote:
I am a total newbie to Lucene. We are developing using a Component-Based
Development (CBD) approach (j2ee, oracle, linux) where our app is built
using separate stand-alone components. The standalone components may reside
on separate boxes and will typically have their own databases.
From what I understand, Lucene operates on a collection of flat documents
(or objects) of a single type at one time. For our project, we need a
search that will operate on a diverse range of objects that are interrelated
by foreign keys.
We have thought of constructing a flat multi-field document that represents
the tree of all dependent objects we wish to search. Unfortunately, doing
so is difficult to do with CBD.
Object Hierarchy Flattened Document

A A.A-field1
| A.A-field2
+---+---+ A.B-field1
| | | A.B-field2
B C D A.C-field1
+--+ A.D-field1
| | A.D-E-field1
E F A.D-F-field1

In the example above, if you want to index the object tree indicated by the
diagram at left, you can do so easily upon an update of A, by traversing the
tree, to produce something that looks like the flattened document at right.
The problem comes when you want to individually update objects B-F.
Assuming these objects are in other components (i.e., databases) that have
no knowledge of A, there is no way to update their data within the context
of the hierarchy.

We can't think of any way to make the flat structure of Lucerne work with
CBD.

We greatly appreciate any ideas or suggestions. Thanks.



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


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

Reply via email to