Hello Michael, following is the code. This is the Sample which we are trying to get the the hits.Please Guide us
-------------------------------------------------------------------- public void newTry() throws IOException { StandardAnalyzer analyzer = new StandardAnalyzer (Version.LUCENE_41); // 1. create the index Directory index = new RAMDirectory(); IndexWriterConfig config = new IndexWriterConfig (Version.LUCENE_41, analyzer); IndexWriter w = new IndexWriter(index, config); List<Document> documents=new ArrayList<Document>(); documents.add(createProductItem("red", "s", "999")); documents.add(createProductItem("red", "m", "1000")); documents.add(createProductItem("red", "l", "2000")); documents.add(createProduct("Polo Shirt", ".....Made Of 100% cotton")); w.addDocuments(documents); documents.clear(); documents.add(createProductItem("light blue", "s", "1000")); documents.add(createProductItem("blue", "s", "1900")); documents.add(createProductItem("dark blue", "s", "1999")); documents.add(createProductItem("light blue", "m", "2000")); documents.add(createProductItem("blue", "m", "2090")); documents.add(createProductItem("dark blue", "m", "2099")); documents.add(createProduct("white color", "...stripe pattern")); w.addDocuments(documents); IndexReader indexreader=DirectoryReader.open(w, false); IndexSearcher indexsearcher=new IndexSearcher(indexreader); Query parentQuery= new TermQuery(new Term("docType", "product")); Filter parentfilter=new CachingWrapperFilter(new QueryWrapperFilter (parentQuery)); BooleanQuery mainQuery=new BooleanQuery(); Query childQuery=new TermQuery(new Term("size","m")); mainQuery.add(childQuery,Occur.SHOULD); ScoreMode scoremode=ScoreMode.None; ToParentBlockJoinQuery productitemQuery=new ToParentBlockJoinQuery (mainQuery, parentfilter, scoremode); BooleanQuery query = new BooleanQuery(); query.add(new TermQuery(new Term("name", "white color")), Occur.MUST); query.add(productitemQuery, Occur.MUST); ToParentBlockJoinCollector c = new ToParentBlockJoinCollector( Sort.RELEVANCE, // sort 10, // numHits true, // trackScores false // trackMaxScore ); TopGroups<Integer> hits = c.getTopGroups( productitemQuery, Sort.RELEVANCE, 0, // offset 10, // maxDocsPerGroup 0, // withinGroupOffset true // fillSortFields ); System.out.println("abc"); } private static Document createProduct(String name,String description) { Document document=new Document(); document.add(new org.apache.lucene.document.Field("name", name, org.apache.lucene.document.TextField.TYPE_STORED)); document.add(new org.apache.lucene.document.Field("docType", "product", org.apache.lucene.document.TextField.TYPE_STORED)); document.add(new org.apache.lucene.document.Field("description", description, org.apache.lucene.document.TextField.TYPE_STORED)); return document; } private static Document createProductItem(String color,String size,String price) { Document document=new Document(); document.add(new org.apache.lucene.document.Field("color", color, org.apache.lucene.document.TextField.TYPE_STORED)); document.add(new org.apache.lucene.document.Field("size", size, org.apache.lucene.document.TextField.TYPE_STORED)); document.add(new org.apache.lucene.document.Field("price", price, org.apache.lucene.document.TextField.TYPE_STORED)); return document; } On Thu, Jan 30, 2014 at 2:24 AM, Michael McCandless <luc...@mikemccandless.com> wrote: > Hi, > > It looks like the mailing list stripped the attachment; can you try > inlining the code into your email (is it brief?). > > Also, have a look at the unit-test for ToParentBJQ and compare how it > runs the query with your code? > > Mike McCandless > > http://blog.mikemccandless.com > > > On Thu, Jan 30, 2014 at 5:15 AM, Priyanka Tufchi > <priyanka.tuf...@launchship.com> wrote: >> Hello Michael, >> >> We tried the sample of code but the value of "hits" we are getting >> is null. We tried to search on net but no proper sample example given >> which can help us to understand. We attached our code with mail >> .please it would be great if you can give a look to our code. >> >> Thanks. >> >> On Wed, Jan 29, 2014 at 3:15 AM, Priyanka Tufchi >> <priyanka.tuf...@launchship.com> wrote: >>> Hello Michael, >>> >>> In the example given in your blog in following line there is error >>> >>> searcher.search(query, c); >>> >>> whether it should convert in IndexSearcher >>> >>> there is no explanation given for document addition in blog example ? >>> Can you please provide helping hand. >>> >>> Thanks. >>> >>> >>> >>> On Wed, Jan 29, 2014 at 2:59 AM, Michael McCandless >>> <luc...@mikemccandless.com> wrote: >>>> Actually, the blog post should still apply: just insert ToParent to >>>> rename things. >>>> >>>> ToChildBlockJoinQuery is the same idea, but it joins in the reverse >>>> direction, so e.g. if your index has CDs (parent docs) and individual >>>> songs on those CDs (child docs), you can take a parent-level >>>> constraint (e.g. maybe price < $12) and join it down to child level >>>> constraints (maybe a query against the song's title) and then see >>>> individual songs (not albums) as the returned hits. >>>> >>>> Mike McCandless >>>> >>>> http://blog.mikemccandless.com >>>> >>>> >>>> On Wed, Jan 29, 2014 at 5:44 AM, Priyanka Tufchi >>>> <priyanka.tuf...@launchship.com> wrote: >>>>> Hello Michael, >>>>> >>>>> Can i get code snippet for this new classes: ToParentBlockJoinQuery, >>>>> ToChildBlockJoinQuery >>>>> and how to use it. >>>>> >>>>> thanks >>>>> >>>>> On Wed, Jan 29, 2014 at 2:22 AM, Michael McCandless >>>>> <luc...@mikemccandless.com> wrote: >>>>>> Sorry, BlockJoinQuery was split into two separate classes: >>>>>> ToParentBlockJoinQuery, ToChildBlockJoinQuery. >>>>>> >>>>>> Mike McCandless >>>>>> >>>>>> http://blog.mikemccandless.com >>>>>> >>>>>> >>>>>> On Wed, Jan 29, 2014 at 4:32 AM, Priyanka Tufchi >>>>>> <priyanka.tuf...@launchship.com> wrote: >>>>>>> Subject: BlockJoinQuery is missing in lucene-4.1.0 . >>>>>>> To: java-user@lucene.apache.org >>>>>>> >>>>>>> >>>>>>> Hello , >>>>>>> >>>>>>> I want to Search relational content which has parent child >>>>>>> relationship . I am following below link >>>>>>> >>>>>>> http://blog.mikemccandless.com/2012/01/searching-relational-content-with.html >>>>>>> >>>>>>> but got problem in following line >>>>>>> >>>>>>> BlockJoinQuery skuJoinQuery = new BlockJoinQuery( >>>>>>> skuQuery, >>>>>>> shirts, ScoreMode.None); >>>>>>> >>>>>>> where is "BlockJoinQuery " class in lucene-4.1.0 ? It has been >>>>>>> removed or some other alternative way is in this version. >>>>>>> >>>>>>> Thanks in advance. >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >>>>>>> For additional commands, e-mail: java-user-h...@lucene.apache.org >>>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >>>>>> For additional commands, e-mail: java-user-h...@lucene.apache.org >>>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >>>>> For additional commands, e-mail: java-user-h...@lucene.apache.org >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >>>> For additional commands, e-mail: java-user-h...@lucene.apache.org >>>> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> For additional commands, e-mail: java-user-h...@lucene.apache.org > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org