Return-Path: Delivered-To: apmail-incubator-lucy-user-archive@www.apache.org Received: (qmail 62201 invoked from network); 25 Feb 2011 14:57:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 25 Feb 2011 14:57:29 -0000 Received: (qmail 40311 invoked by uid 500); 25 Feb 2011 14:57:29 -0000 Delivered-To: apmail-incubator-lucy-user-archive@incubator.apache.org Received: (qmail 40245 invoked by uid 500); 25 Feb 2011 14:57:28 -0000 Mailing-List: contact lucy-user-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: lucy-user@incubator.apache.org Delivered-To: mailing list lucy-user@incubator.apache.org Received: (qmail 40077 invoked by uid 99); 25 Feb 2011 14:57:26 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 Feb 2011 14:57:26 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [74.63.6.18] (HELO valleyforge.networkredux.net) (74.63.6.18) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 Feb 2011 14:57:21 +0000 Received: from [89.204.211.162] (helo=[10.0.8.2]) by valleyforge.networkredux.net with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1Psz69-0000Pg-Nz for lucy-user@incubator.apache.org; Fri, 25 Feb 2011 06:56:58 -0800 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1082) From: "Andrew S. Townley" In-Reply-To: <4D67B184.8090703@uni-koeln.de> Date: Fri, 25 Feb 2011 14:56:44 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <120DD2FF-18E9-45F2-AAD4-6D94FAE779FD@atownley.org> References: <533EAE91-5C07-4505-8A61-249B79A80891@atownley.org> <4D67B184.8090703@uni-koeln.de> To: lucy-user@incubator.apache.org X-Mailer: Apple Mail (2.1082) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - valleyforge.networkredux.net X-AntiAbuse: Original Domain - incubator.apache.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - atownley.org X-Source: X-Source-Args: X-Source-Dir: Subject: [lucy-user] Mostly re: the SWIG part (was Re: [lucy-user] Question about query parsing API Hi Jens, On 25 Feb 2011, at 1:41 PM, Jens Wille wrote: >=20 > 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: >=20 > = 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 http://atownley.org