Return-Path: Delivered-To: apmail-lucene-java-dev-archive@www.apache.org Received: (qmail 40132 invoked from network); 18 Aug 2005 01:46:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 18 Aug 2005 01:46:02 -0000 Received: (qmail 69048 invoked by uid 500); 18 Aug 2005 01:46:01 -0000 Delivered-To: apmail-lucene-java-dev-archive@lucene.apache.org Received: (qmail 69004 invoked by uid 500); 18 Aug 2005 01:46:00 -0000 Mailing-List: contact java-dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-dev@lucene.apache.org Delivered-To: mailing list java-dev@lucene.apache.org Received: (qmail 68983 invoked by uid 99); 18 Aug 2005 01:46:00 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Aug 2005 18:46:00 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [69.55.225.129] (HELO ehatchersolutions.com) (69.55.225.129) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Aug 2005 18:46:19 -0700 Received: by ehatchersolutions.com (Postfix, from userid 504) id D0E5913E2033; Wed, 17 Aug 2005 21:45:55 -0400 (EDT) Received: from [172.16.1.101] (unknown [71.48.138.146]) by ehatchersolutions.com (Postfix) with ESMTP id AA20B13E2007 for ; Wed, 17 Aug 2005 21:45:37 -0400 (EDT) In-Reply-To: References: Mime-Version: 1.0 (Apple Message framework v730) X-Priority: 3 (Normal) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <0564B985-E97A-4F27-AAFD-63BD52D1823F@ehatchersolutions.com> Content-Transfer-Encoding: 7bit From: Erik Hatcher Subject: Re: lucene API Date: Wed, 17 Aug 2005 21:45:47 -0400 To: java-dev@lucene.apache.org X-Mailer: Apple Mail (2.730) X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on javelina X-Spam-Level: X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-5.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.0.1 X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N When I first started digging into the Lucene codebase, I felt similarly - the coding convention rule breaking drove me nuts. Lucene grew on me and I've changed my take on "conventions" dramatically thanks to Doug's explanations and the flavor he has imparted onto the codebase. His "conventions" have changed how I code. If JAX-RPC has issues with Lucene, it is more an issue with JAX-RPC than with Lucene. There are sound reasons for the design of Lucene's API and the (non)serializability of most pieces of it. What about the Sourceforge Lucene web service project? Would using that rather than creating your own solution be reasonable? Erik On Aug 17, 2005, at 9:26 AM, Maros Ivanco wrote: > > > Hi there, > > I am creating a search solution based on Lucene. A part of the > solution > is Lucene web service. Even though the Lucene API is very > straitforward > to use on a local machine, I found creation of Lucene WS to be > extremely > difficult. The problem causes the API, which very often does not > obey > even trivial coding conventions (getter and setter names, for > instance). > As a result, the jax-rpc subsystem is unable to produce correct > serializers and deserializers. From my point of view, there are > serveral > possibilities to solve the problem: > > 1., write envelopes for nonserializable objects (Document, Field, > Term, > ...) > 2., write custom serializers and deserializers > 3., change lucene API > > 1. requires creation of many envelopes, since most of the Lucene > classes do > not obey JavaBean semantics thus, they are not serializable by jax- > rpc. > Wrapping and uwrapping of Lucene objects takes extra processing. > Moreover, > the un/wrapping is sometimes not possible, because some objects > (Filters, > for instance) do not exhibit their full state. I am doing this > right now > (and doing, and doing,... I cannot see the end :-)). > > 2. requires creation of de/serializer for every nonserializable > class. Also > requires extra configuration + generation of factories. Twice as > difficult > as solution 1. Moreover, this solution renders resulting WS as > nonportable. > > 3. requires change of lucene API in the way that will allow either > direct > de/serialization or, at least, the solution 1. As far as Lucene is > open > sourced, everybody can make changes, but the real question is, > whether the > changes will become part of the official distribution. If not, the > overall > search solution will remain stucked with current release. > > I would personally prefer the third one, but only if the changes > will make > it to the official release. Our company plans to deploy several > instances > of the solution. There is certain probability, that my employer will > contribute some resources (my time) to the project. The question is, > whether the contemporary development comunity is willing to accept > this > kind of changes and if I can participate. So, is it? > > Maros. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org > For additional commands, e-mail: java-dev-help@lucene.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org For additional commands, e-mail: java-dev-help@lucene.apache.org