Return-Path: X-Original-To: apmail-lucene-java-user-archive@www.apache.org Delivered-To: apmail-lucene-java-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9F18247C0 for ; Thu, 23 Jun 2011 09:09:49 +0000 (UTC) Received: (qmail 50264 invoked by uid 500); 23 Jun 2011 09:09:47 -0000 Delivered-To: apmail-lucene-java-user-archive@lucene.apache.org Received: (qmail 49564 invoked by uid 500); 23 Jun 2011 09:09: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 49553 invoked by uid 99); 23 Jun 2011 09:09:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Jun 2011 09:09:42 +0000 X-ASF-Spam-Status: No, hits=3.7 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of pranavgoyal40341@gmail.com designates 209.85.214.48 as permitted sender) Received: from [209.85.214.48] (HELO mail-bw0-f48.google.com) (209.85.214.48) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Jun 2011 09:09:35 +0000 Received: by bwz8 with SMTP id 8so2422104bwz.35 for ; Thu, 23 Jun 2011 02:09:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=eZvXR+X3Gwhb0O0guEaJ9ZicMCz41hGMB2v0Bfni5cc=; b=oghgoCqOgcIVdYy2X7pv7XBvy7xEHgcSI/pQpxQ715xaOMiT4p7HKerAIc5UK/HloF IIggDfskptNdPzB1Vkq2JoG665KFvwWXjXXhmzStP9FVeB9t7+4168pz9QRUeSr3w6At qzWKGrE1IirNU+dIhne/BgG/VxN2oOTDW2oco= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=Ghd95t0OlLdlQa3/x1WQzWgKf4Kts3EasdIrnd0eHIRgUWean9UC4/mD1Eq29zmT7E IL6lcnBDEbLScOCI+IkYSCtkJzjsJ7n2Jw1rcl/Yq/LpvzcTm0xjxkUcBIMzXMxk37bb +zGmOLIjSHvxIbMfVyANzC0/1k7O0W+EVrhsI= Received: by 10.204.39.14 with SMTP id d14mr192276bke.200.1308820155244; Thu, 23 Jun 2011 02:09:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.51.83 with HTTP; Thu, 23 Jun 2011 02:08:55 -0700 (PDT) In-Reply-To: References: From: Pranav goyal Date: Thu, 23 Jun 2011 14:38:55 +0530 Message-ID: Subject: Re: Lucene Searching To: java-user@lucene.apache.org Content-Type: multipart/alternative; boundary=bcaec55555346da2dd04a65d70af X-Virus-Checked: Checked by ClamAV on apache.org --bcaec55555346da2dd04a65d70af Content-Type: text/plain; charset=ISO-8859-1 Here's the code which I am implementing (Indexing and Searching codes are in different files) Indexing Part : d=new Document(); File indexDir = new File("index-dir"); KeywordAnalyzer analyzer = new KeywordAnalyzer(); IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_31, analyzer); try { writer = new IndexWriter(FSDirectory.open(indexDir),conf); } catch (IOException e1) { e1.printStackTrace(); } String q1 = contract.getDocId(); String q2 = contract.getDocName(); String q3 = contract.getCustomer(ctx).getMemberName(); Term term = new Term("DocId",contract.getDocId()); writer.deleteDocuments(term); d.add(new Field("DocId",q1,Field.Store.YES,Field.Index.NOT_ANALYZED)); d.add(new Field("All",q2,Field.Store.NO,Field.Index.NOT_ANALYZED)); d.add(new Field("Cust",q3,Field.Store.NO,Field.Index.NOT_ANALYZED)); try { writer.addDocument(d); writer.close(); endTime = System.currentTimeMillis(); //System.out.println("Time taken to index the contract with DocID "+q1 +" is -> " +(endTime-startTime)); } catch (IOException e1) { e1.printStackTrace(); } Searching Code : File indexDir = new File("index-dir"); KeywordAnalyzer analyzer = new KeywordAnalyzer(); IndexSearcher searcher = null; searcher = new IndexSearcher(FSDirectory.open(indexDir)); String[] fields = new String[] { "DocId","Item","Cust","All"}; MultiFieldQueryParser parser = new MultiFieldQueryParser(Version.LUCENE_31,fields,analyzer); parser.setAllowLeadingWildcard(true); String queryString = field.getValue().toString(); TopDocs results = null; Query query1; query1 = parser.parse(queryString); results = searcher.search(query1,1000); System.out.println("total hits: " + results.totalHits); ScoreDoc[] hits = results.scoreDocs; Document doc = null; ArrayList docIds = new ArrayList(); for (ScoreDoc hit : hits) { doc = searcher.doc(hit.doc); System.out.println(doc.get("DocId")); ((ArrayList) docIds).add(doc.get("DocId")); } // Function which you need not to understand IMnCriterion criterion = contractQuery.createInCriterion(contractQuery.ATTR_P_DOC_ID, docIds); contractQuery.setCriterion(criterion); searcher.close(); } --bcaec55555346da2dd04a65d70af--