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

Reply via email to