Return-Path: Delivered-To: apmail-lucene-java-dev-archive@www.apache.org Received: (qmail 5555 invoked from network); 26 Jul 2007 20:01:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 Jul 2007 20:01:03 -0000 Received: (qmail 75864 invoked by uid 500); 26 Jul 2007 20:00:58 -0000 Delivered-To: apmail-lucene-java-dev-archive@lucene.apache.org Received: (qmail 75797 invoked by uid 500); 26 Jul 2007 20:00:58 -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 75786 invoked by uid 99); 26 Jul 2007 20:00:58 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Jul 2007 13:00:58 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of karl.wettin@gmail.com designates 66.249.92.169 as permitted sender) Received: from [66.249.92.169] (HELO ug-out-1314.google.com) (66.249.92.169) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Jul 2007 13:00:56 -0700 Received: by ug-out-1314.google.com with SMTP id c2so696126ugf for ; Thu, 26 Jul 2007 13:00:34 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:mime-version:content-transfer-encoding:message-id:content-type:to:from:subject:date:x-mailer; b=iI+0+FkRE75bRcteLfxHtnJA5G+ys7tGfs41o7mgDa6sBtQSDGk3jNpNRl4UvAOfopAx3hOBl9zqTDlRtf9QzREkYGk7LL2dvYTWcv1sLdQxAwOglkSMOmCpbFFXO+9dHys7JnFABn7Or0mza9dIKX70Lk+7SO9Ed8txyTyof88= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:mime-version:content-transfer-encoding:message-id:content-type:to:from:subject:date:x-mailer; b=JhZwki2JrrzWmR0hInaqHsIgmWpv/ZI5Ik+oiHdmAW3D/K/SWaFtocVp18GTYcsE+kJaZV2KVVqMw0ly5Bupc5mrMcFtH765bWFo4XmU1VMZB6AaXeNq8TvK7Z048gsigdww4G/X5NI6hm7DEcFRzxCDGoSt1ZTov3EbgzLVumQ= Received: by 10.86.54.3 with SMTP id c3mr1424180fga.1185480034476; Thu, 26 Jul 2007 13:00:34 -0700 (PDT) Received: from ?192.168.2.101? ( [83.249.110.50]) by mx.google.com with ESMTPS id w5sm6843425mue.2007.07.26.13.00.33 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 26 Jul 2007 13:00:33 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v752.3) Content-Transfer-Encoding: 7bit Message-Id: <456853B3-E4C5-45F3-AC87-91244CBDE18F@gmail.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: java-dev@lucene.apache.org From: karl wettin Subject: Last attempt Date: Thu, 26 Jul 2007 21:56:27 +0200 X-Mailer: Apple Mail (2.752.3) X-Virus-Checked: Checked by ClamAV on apache.org Some time ago I tried to introduce LUCENE-581, a new consumer top layer, the core changes required by LUCENE-550, my InstantaitedIndex. I would still like to see this a part of the core. It is completely backwards compatible but contains a few small changes that seems to be convtroversial, and I'm honestly not sure why: * Complete definalization of Term, Document and IndexReader. * IndexWriterInterface In my eyes, the only thing these things do are to limit Lucene development to the file-centric Directory store. There is nothing wrong with Dicretory, I just want to be able to use the same code for any store design of my chooise. I want unison index handling, no matter the implementation. One line of code that switch between Directory, BDB, MemoryIndex, InstantiatedIndex or what not. This post is about InstantiatedIndex and the things I built upon it. As time it passed I just gave up on keeping them up to date. It is in use at this one place where it is just spinning on with no need to update, stuck to Lucene 2.0 or so. We are now getting close to Lucene 3.0 and I would hate to see this code get lost in time. It has so many neat features. Beeing really really fast on small corpuses is just one. In essense the design is similar to contrib/MemoryIndex, but it can hold multiple documents. The definalization and interface also allows for index insert/delete/ optimization notifications. These two features combined yeilded in an active cache (not really used in any project, just a proof-of-concept I experimented with on a site where a lot of users place the exact same query) that update cached results only when affected by new data. Could be done with MemoryIndex too, but not as fast as InstantiatedIndex can handle batches of documents. One can however do alot of other things with it. In LUCENE-626 I also use InstantiatedIndex, getting some 10-20 times faster response times from my contrib/spellcheck augmentation than when using a RAMDirectory. There are more features and potentially cool things one might want to consider in the 550-patch/UML diagram. Would the changes to the core InstantiatedIndex require ever be committed? Then I could sit down and bring these patches up to date. Otherwise I'll just let them become some depricated artifact I use for a couple of things such as spellchecking, rather than a neat augmentation of Lucene I could use for any future development. -- karl --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org For additional commands, e-mail: java-dev-help@lucene.apache.org