Thanks Jens, that makes sense. I started with the following addition
to RDig::Searcher
# Returns <tt>true</tt> if RDig's IndexReader has the latest
index loaded. False otherwise.
def latest?
@ferret_searcher.reader.latest?
end
I fired up two script/console instances. In the first I called
ClassB.rebuild_index, and in the second console I called
RDig.searcher.latest? and received the following seg fault.
>> RDig.searcher.latest?
./script/../config/../config/../vendor/gems/rdig-0.3.4/lib/rdig/
search.rb:36: [BUG] Bus Error
ruby 1.8.4 (2005-12-24) [i686-darwin8.6.1]
Did I break a Ferret rule of some kind by having a reader looking at
the version of an index that is being rebuilt?
Thanks again.
Erik
On Jul 30, 2007, at 3:38 AM, Jens Kraemer wrote:
> On Sun, Jul 29, 2007 at 02:34:26PM -0400, Erik Morton wrote:
>> I have a site with two indexes. Index A is created offline by RDig
>> and queried from the web via RDig (specifically,
>> RDig.searcher.search). Index B is managed by AAF with :remote =>
>> true. Simple enough. However, I need to query both indexes from RDig.
>> Usually this is ok, as I modified RDig to accept an array of
>> search_paths with an element for index A and index B.
>>
>> However, when Index B is updated by AAF, RDig.searcher.search will
>> not "see" the changes to Index B until I restart Mongrel (or restart
>> script/console). If I query Index B directly through
>> ClassB.find_by_contents("myfield:my_value") I see the updated results
>> immediately with no restart.
>>
>> I know that RDig creates a single IndexReader for class. Does the
>> IndexReader cache the segments files in memory?
>
> Yes.
>
>> Does anyone have any ideas?
>
> You can check if your reader still 'sees' the most recent version
> of the
> index with the latest? method, and re-open it accordingly. You might
> have to hack RDig a bit to allow opening a new reader, but this
> shouldn't be too hard.
>
> Cheers,
> Jens
>
>
> --
> Jens Krämer
> webit! Gesellschaft für neue Medien mbH
> Schnorrstraße 76 | 01069 Dresden
> Telefon +49 351 46766-0 | Telefax +49 351 46766-66
> [EMAIL PROTECTED] | www.webit.de
>
> Amtsgericht Dresden | HRB 15422
> GF Sven Haubold, Hagen Malessa
> _______________________________________________
> Ferret-talk mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/ferret-talk
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk