Return-Path: Delivered-To: apmail-lucene-java-user-archive@www.apache.org Received: (qmail 84229 invoked from network); 21 Jul 2006 18:58:19 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Jul 2006 18:58:19 -0000 Received: (qmail 86448 invoked by uid 500); 21 Jul 2006 18:58:15 -0000 Delivered-To: apmail-lucene-java-user-archive@lucene.apache.org Received: (qmail 85853 invoked by uid 500); 21 Jul 2006 18:58:13 -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 85842 invoked by uid 99); 21 Jul 2006 18:58:13 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Jul 2006 11:58:13 -0700 X-ASF-Spam-Status: No, hits=2.8 required=10.0 tests=DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_POST,DNS_FROM_RFC_WHOIS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [206.190.39.215] (HELO web50313.mail.yahoo.com) (206.190.39.215) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 21 Jul 2006 11:58:11 -0700 Received: (qmail 37041 invoked by uid 60001); 21 Jul 2006 18:57:50 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=32jhDTRA9RhuqdYf41p48PHK7mDN809ijOtXvW0T6LxmGnynTZHd0cgckNockSNUVgiEkiKFDBdWPtG7NSBuAr85JqvP8pbytWZekukVQdRDqgdg1rnp2aFctBvSDh4IzcJ9QUFnKtczQgfkdsVWVfDIBfDJWieJjeekizlVHwI= ; Message-ID: <20060721185750.37039.qmail@web50313.mail.yahoo.com> Received: from [66.92.180.250] by web50313.mail.yahoo.com via HTTP; Fri, 21 Jul 2006 11:57:50 PDT Date: Fri, 21 Jul 2006 11:57:50 -0700 (PDT) From: Otis Gospodnetic Reply-To: Otis Gospodnetic Subject: Re: Fastest Method for Searching (need all results) To: java-user@lucene.apache.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N I haven't had the chance to use this new feature yet, but have you tried with selective field loading, so that you can load only that 1 field from your index and not all of them? Otis ----- Original Message ---- From: Ryan O'Hara To: java-user@lucene.apache.org Sent: Friday, July 21, 2006 2:43:41 PM Subject: Fastest Method for Searching (need all results) My index contains approximately 5 millions documents. During a search, I need to grab the value of a field for every document in the result set. I am currently using a HitCollector to search. Below is my code: searcher.search(query, new HitCollector(){ public void collect(int doc, float score){ if(searcher.doc(doc).get("SYM") != null){ addSymbolsToHash(searcher.doc (doc).get("SYM").split("ENDOFSYM")); } } }); This is fairly fast for small and medium-sized result sets. However, it gets slow as the result set grows. I read this on HitCollector's API page: "For good search performance, implementations of this method should not call Searcher.doc(int) or Reader.document(int) on every document number encountered. Doing so can slow searches by an order of magnitude or more." Along with this implementation, I've also tried using FieldCache. This faired better with large-sized result sets, but worse with small and medium-sized result sets. Anyone have any ideas of what the best approach might be? Thanks a lot, Ryan --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org For additional commands, e-mail: java-user-help@lucene.apache.org