Return-Path: Delivered-To: apmail-lucene-java-user-archive@www.apache.org Received: (qmail 66757 invoked from network); 17 Nov 2009 17:39:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 17 Nov 2009 17:39:46 -0000 Received: (qmail 79169 invoked by uid 500); 17 Nov 2009 17:39:44 -0000 Delivered-To: apmail-lucene-java-user-archive@lucene.apache.org Received: (qmail 79131 invoked by uid 500); 17 Nov 2009 17:39:44 -0000 Mailing-List: contact java-user-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-user@lucene.apache.org Delivered-To: mailing list java-user@lucene.apache.org Received: (qmail 79106 invoked by uid 99); 17 Nov 2009 17:39:44 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Nov 2009 17:39:44 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of pcdinh@gmail.com designates 209.85.160.46 as permitted sender) Received: from [209.85.160.46] (HELO mail-pw0-f46.google.com) (209.85.160.46) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Nov 2009 17:39:35 +0000 Received: by pwj17 with SMTP id 17so125362pwj.5 for ; Tue, 17 Nov 2009 09:39:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=NS1nWS99ScC/sIYTmMfWHkEh0OHbP0BNAcO3am92fSM=; b=LhI+TWAijFv5fOmHDQd/yRiWT/VUkk5xYmvQWgVWet706m2J+4JP/19kOQMNDIJg6U n04QIo7tDg3XweNSvJmocI7ksTcfGp4uU2zFJLeODkBbFrKr+ysf62cLsPMRddoZMgmt WeWrhkijB4Ed2K23HrluGIZtjo/kNThS//Vmw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=VnfVvt4m104X2tIkF8n+4WpL0pjBENGV/so+lxz/kmdGz6+GcscnWcmlEWKDAZeTRl 5qGralmiHoVj6rYrPtRqK3FEHwLcuhGylgckfb83Bll29Qt8udZ+evklvEwZMb55clXK c/ebzfau5szrxbqTDhMg0pEhB55arIXTu8eP8= MIME-Version: 1.0 Received: by 10.115.84.32 with SMTP id m32mr13053997wal.7.1258479554458; Tue, 17 Nov 2009 09:39:14 -0800 (PST) Date: Wed, 18 Nov 2009 00:39:14 +0700 Message-ID: <27ff0e30911170939p33dca065y2d1a4fb0e6214904@mail.gmail.com> Subject: Why Lucene takes longer time for the first query and less for subsequent ones From: Dinh To: java-user@lucene.apache.org Content-Type: multipart/alternative; boundary=0016e64cc880ccf4820478949abe X-Virus-Checked: Checked by ClamAV on apache.org --0016e64cc880ccf4820478949abe Content-Type: text/plain; charset=ISO-8859-1 Hi all, I made a list of 4 simple, singe term queries and do 4 searches via Lucene and find that if the term is used for search in the first time, Lucene takes quite a bit time to handle it. - Query A 00:27:28,781 INFO LuceneSearchService:151 - Internal search took 328.21463ms 00:27:28,781 INFO SearchController:86 - Page rendered in 338.29553ms - Query B 00:27:39,171 INFO LuceneSearchService:151 - Internal search took 480.30908ms 00:27:39,187 INFO SearchController:86 - Page rendered in 493.07327ms - Query C 00:27:46,765 INFO LuceneSearchService:151 - Internal search took 189.33635ms 00:27:46,765 INFO SearchController:86 - Page rendered in 195.43823ms - Query D 00:28:00,312 INFO LuceneSearchService:151 - Internal search took 330.3596ms 00:28:00,328 INFO SearchController:86 - Page rendered in 347.34747ms It looks no good at the first glance because I have only 500 000 indexed documents. However, when I searched them again I found that Lucene run much faster. - Query A 00:28:04,046 INFO LuceneSearchService:151 - Internal search took 3.90301ms 00:28:04,062 INFO SearchController:86 - Page rendered in 15.694173ms - Query C 00:28:15,390 INFO LuceneSearchService:151 - Internal search took 1.425879ms 00:28:15,390 INFO SearchController:86 - Page rendered in 7.946541ms - Query D 00:28:26,031 INFO LuceneSearchService:151 - Internal search took 1.849956ms 00:28:26,046 INFO SearchController:86 - Page rendered in 12.023037ms - Query B 00:28:31,609 INFO LuceneSearchService:151 - Internal search took 1.668648ms 00:28:31,625 INFO SearchController:86 - Page rendered in 15.57237ms Why does it happens? Does it mean that Lucene has an internal cache engine, just like MySQL query result cache or Oracle query execution plan cache? Thanks Dinh --0016e64cc880ccf4820478949abe--