David Balmain wrote:
> On 10/11/06, ahFeel <[EMAIL PROTECTED]> wrote:
>> Here is my problem :
>> {
>> //
>>
>> of course, i've bound the method to the good object etc...
>>
>> Hope somebody'll help !
>> Thank you by advance,
>> Jeremie 'ahFeel' BORDIER
>>
>
> The frt_td_to_s method is doing almost exactly this. Make sure you
> have have version 0.10.9 or later. Each TopDocs object has a reference
> to the searcher that created it. You can get a LazyDoc object for the
> searcher with the following call:
>
> LazyDoc *lazy_doc = sea->get_lazy_doc(searcher, id);
>
> By the way, id should be an int, not a long. To turn this into the
> lazy loading Hash object that you see in Ruby you use this method:
>
> VALUE frt_get_lazy_doc(LazyDoc *lazy_doc)
>
> The code for cLazyDoc is in r_index.c.
>
> Can I ask why you need to do this in the C code? It would seem to me
> to make a lot more sense to code this in Ruby but you probably have a
> good reason.
>
> Cheers,
> Dave
Hi dave !
First, thank you a lot for this anwser !
I've been looking and trying a lot of things such as
sea = (Searcher *)DATA_PTR(self)
to use the sea->get_lazy_doc function, but it returns a null pointer...
maybe i did something wrong, i'll retry, and be sure to have the last
ferret release :)
Concerning the reasons i'm doing this directly in C, it's just because
we need a really fast implementation.. I'm working with Florent Solt who
you already knows, works on a big project using Ruby / Ferret. These
datas are supposed to transit over a RPC protocol, and there will be a
lot of queries, so we really need a fast to_json method :)
Thank you again,
Jeremie 'ahFeel' BORDIER
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk