Return-Path: Delivered-To: apmail-lucene-java-dev-archive@www.apache.org Received: (qmail 59729 invoked from network); 28 Dec 2005 15:14:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 28 Dec 2005 15:14:47 -0000 Received: (qmail 88242 invoked by uid 500); 28 Dec 2005 15:14:45 -0000 Delivered-To: apmail-lucene-java-dev-archive@lucene.apache.org Received: (qmail 88228 invoked by uid 500); 28 Dec 2005 15:14:45 -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 88217 invoked by uid 99); 28 Dec 2005 15:14:44 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Dec 2005 07:14:44 -0800 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, 28 Dec 2005 07:14:44 -0800 Received: by ehatchersolutions.com (Postfix, from userid 504) id 6677F13E2005; Wed, 28 Dec 2005 10:14:23 -0500 (EST) Received: from [128.143.167.108] (d-128-167-108.bootp.Virginia.EDU [128.143.167.108]) by ehatchersolutions.com (Postfix) with ESMTP id E87D013E2005 for ; Wed, 28 Dec 2005 10:14:19 -0500 (EST) Mime-Version: 1.0 (Apple Message framework v746.2) Content-Transfer-Encoding: 7bit Message-Id: <5156152D-CB12-4710-BFBA-9CE2F40B3935@ehatchersolutions.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: java-dev@lucene.apache.org From: Erik Hatcher Subject: regex queries Date: Wed, 28 Dec 2005 10:14:16 -0500 X-Mailer: Apple Mail (2.746.2) X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N As I promised earlier, in order to leverage 3rd party regex implementations I have removed the (Span)RegexQuery code from the core and into contrib/regex. The implementation is vastly different in that I've abstracted out the regex implementation and provided one for JDK 1.4 java.util.regex and Jakarta Regexp. Jakarta Regexp has a nice feature of being able to provide the static prefix in order to short-circuit term enumeration. In my project, I've created a custom implementation that uses Jakarta Regexp for the prefix but java.util.regex for the actual matching in order to have the best of both worlds. I may have over-engineered it a bit, though I'm not sure. I'm in the process of documenting beyond just the unit tests, and likely will also document how to use regex queries along with term rotation in order to really minimize term rotation - though I'm still working on this feature in my current project. Yonik may cringe at the .equals/.hashCode that I let IntelliJ generate - sorry. Let me know if you have suggestions for improvement in those. I doubt this has caused anyone too much problem by moving this out of the core, my apologies if so. By all means let me know if you have any issues or suggestions for this. Erik --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org For additional commands, e-mail: java-dev-help@lucene.apache.org