Hi Jens,

On 25 Feb 2011, at 1:41 PM, Jens Wille wrote:
> 
> Andrew S. Townley [2011-02-25 13:41]:
>> If so, is there a way to traverse the query parse tree (or get a
>> callback notification when it matches terms)?  What I need to be
>> able to do is take an arbitrary fulltext search query and then
>> determine whether any search fields have been requested
>> explicitly.  I suppose a more ideal solution would be to have a
>> #target_fields method or something on the query object, but that
>> would just be convenience.
> i understand that problem has been solved in the meantime
> (Ferret::Search::Query#terms, basically)? ;-)

Yes, it seems like you did that as a byproduct of your change to Ferret 
(https://github.com/blackwinter/ferret).  Doubly awesome.  Thanks!

>> Also, I mentioned SWIG in passing the other day in a previous
>> message.  Would it not be possible to just generate the bindings
>> for Ruby with SWIG?
> re SWIG, there was a clarifying statement by marvin humphrey on
> lucy-dev recently:
> 
> <http://mail-archives.apache.org/mod_mbox/incubator-lucy-dev/201102.mbox/%[email protected]%3E>

Thanks for the pointer.  Archive failure on my part.  However, after reading 
that and this http://s.apache.org/pSd (referenced in the above), I understand 
the rationale, and think it's cool, but am slightly concerned about how easy 
it'll be to get it to generate Ruby.

To the larger Lucy community:

I can't find any documentation about Clownfish other than the above JIRA entry. 
 Is there some discussion/project/docs somewhere?

The advantages of SWIG are that it's pretty widely used, and anyone with 
experience with both the source and the target binding language can usually get 
something working in hours, not days.  It seems to me that for lucy to get the 
adoption it needs to grow communities in other circles besides Perl, you need 
to start doing some marketing about how much easier it is for 
Joe-random-developer to take a Clownfish-enabled project and automatically 
generate the language bindings of their choice.

As it stands, it seems that anyone interested in using lucy outside of Perl (or 
actually, just as a C library) needs to:

a) Learn Clownfish
b) Implement Clownfish -> Lang conversion routines (in Perl?)
c) Run it on the lucy source
d) write binding tests
e) tweak bindings and/or conversion, e.g. goto b
f) rinse & repeat

I really like the mechanisms you're using in Clownfish--I really do, but it 
isn't going to matter much (except for KinoSearch/Perl users) if there aren't 
people able to easily create language bindings--no matter how much more 
powerful the plumbing is than SWIG or other approaches.

Please understand I'm not trying to be negative here.  I really want Lucy to 
succeed in its goals.  I'm just trying to get a realistic picture of where 
things are and what's actually involved.  I think finishing the incubation 
process and getting more user and host language developer documentation in 
place (even a few example blog posts) would go a long way to attracting some 
support.  Right now, except for the mailing list, lucy's just a black box that 
sounds like it'll be cool--eventually (at least for non-Perl users). ;)

If these documentation resources, Clownfish intro materials or HOW-TO guides 
exist, then please point me to them.  Google wasn't much help here, and I've 
been through the SVN browser several times now with no luck.

It seems like the core architecture of Lucy and Clownfish are first-rate 
efforts.  Now, you need to think about the right way to market it so that you 
can build the community.  Again, it looks very much like Lucy is the long-term 
fit for what I'm working on, so I'm very interested in how things develop and 
what I might have to bite off in terms of additional work to integrate it at 
any level (C++ or Ruby) into what I have.

Thanks for your time,

ast
--
Andrew S. Townley <[email protected]>
http://atownley.org

Reply via email to