Doing a join between two ferret indexes?

Hello, everybody,

we have a situation where there are two sets of information about
documents - slow changing and fast changing properties. We index
documents by slow changing properties (content) using Ferret directly,
and it works rather well. But now we would like to filter the searches
by a fast-changing property, that is calculated separately, e.g.
“isBookAvailable”.

The idea is to put this property in another Ferret index (which gets
rebuilt very frequently really fast), together with unique document id
(we have external unique id for each document) and then somehow “join”
the original index with this index to provide final results (there are
even more nuances, but this description is enough for start).

The problem is we need the correct paging behaviour and search result
count. If we could somehow “join” the two indexes, the paging and
result count would be provided by Ferret. If not, we must go through
all ferret result documents from the query on the first index and
apply filter on them (i.e. remove from result set if not available),
to get correct result count and paging behaviour.

At the first look this “joining” is not possible with Ferret. Or is it?

Please, can somebody enlighten me,

izidor

Hi Izidor,

Did you find a solution to your indexes merge problem?
As you, I’m wondering how to merge 2 (ore more) indexes in one.

Thanks
Zab

Izidor J. wrote:

Hello, everybody,

we have a situation where there are two sets of information about
documents - slow changing and fast changing properties. We index
documents by slow changing properties (content) using Ferret directly,
and it works rather well. But now we would like to filter the searches
by a fast-changing property, that is calculated separately, e.g.
“isBookAvailable”.

The idea is to put this property in another Ferret index (which gets
rebuilt very frequently really fast), together with unique document id
(we have external unique id for each document) and then somehow “join”
the original index with this index to provide final results (there are
even more nuances, but this description is enough for start).

The problem is we need the correct paging behaviour and search result
count. If we could somehow “join” the two indexes, the paging and
result count would be provided by Ferret. If not, we must go through
all ferret result documents from the query on the first index and
apply filter on them (i.e. remove from result set if not available),
to get correct result count and paging behaviour.

At the first look this “joining” is not possible with Ferret. Or is it?

Please, can somebody enlighten me,

izidor