There is no sample code for doing that but it's quite straightforward - if you know you indexed some dimensions under different indexFieldNames, initialize a FacetCounts per such field name, e.g.:
FastTaxoFacetCounts defaultCounts = new FastTaxoFacetCounts(...); // for your regular facets FastTaxoFacetCounts cityCounts = new FastTaxoFacetCounts(...); // for your CITY facets Something like that... Shai On Mon, Jun 23, 2014 at 9:04 AM, Jigar Shah <jigaronl...@gmail.com> wrote: > On commenting > > //config.setIndexFieldName("CITY", "city"); at search time, this is before > i do, getTopChildren(...) > > I get following exception. > > Caused by: java.lang.ArrayIndexOutOfBoundsException: 2 > at > > org.apache.lucene.facet.taxonomy.FastTaxonomyFacetCounts.count(FastTaxonomyFacetCounts.java:74) > [lucene-facet-4.8.1.jar:4.8.1 1594670 - rmuir - 2014-05-14 19:23:23] > at > > org.apache.lucene.facet.taxonomy.FastTaxonomyFacetCounts.<init>(FastTaxonomyFacetCounts.java:49) > [lucene-facet-4.8.1.jar:4.8.1 1594670 - rmuir - 2014-05-14 19:23:23] > at > > org.apache.lucene.facet.taxonomy.FastTaxonomyFacetCounts.<init>(FastTaxonomyFacetCounts.java:39) > [lucene-facet-4.8.1.jar:4.8.1 1594670 - rmuir - 2014-05-14 19:23:23] > at > > org.apache.lucene.facet.DrillSideways.buildFacetsResult(DrillSideways.java:110) > [lucene-facet-4.8.1.jar:4.8.1 1594670 - rmuir - 2014-05-14 19:23:23] > at org.apache.lucene.facet.DrillSideways.search(DrillSideways.java:177) > [lucene-facet-4.8.1.jar:4.8.1 1594670 - rmuir - 2014-05-14 19:23:23] > at org.apache.lucene.facet.DrillSideways.search(DrillSideways.java:203) > [lucene-facet-4.8.1.jar:4.8.1 1594670 - rmuir - 2014-05-14 19:23:23] > > Application level excepitons..... > ... > ... > > > > On Sat, Jun 21, 2014 at 10:56 PM, Michael McCandless < > luc...@mikemccandless.com> wrote: > > > Are you sure it's the same FacetsConfig at search time? Because the > > exception implies your CITY field didn't have > > config.setIndexFieldName("CITY", "city") called. > > > > Or, can you try commenting out 'config.setIndexFieldName("CITY", > > "city")' at index time and see if the exception still happens? > > > > Mike McCandless > > > > http://blog.mikemccandless.com > > > > > > On Sat, Jun 21, 2014 at 1:08 AM, Jigar Shah <jigaronl...@gmail.com> > wrote: > > > Thanks for helping me. > > > > > > Yes, i did couple of things: > > > > > > Below is simple code for indexing which i use. > > > > > > TrackingIndexWriter nrtWriter > > > DirectoryTaxonomyWriter taxoWriter = ... > > > .... > > > FacetsConfig config = new FacetConfig(); > > > config.setHierarchical("CITY", true) > > > config.setMultiValued("CITY", true); > > > config.setIndexFieldName("CITY","city") // I kept dimName different > from > > > indexFieldName > > > .... > > > Added indexing searchable fields... > > > .... > > > > > > doc.add( new FacetField("CITY", "India", "Gujarat", "Vadodara" )) > > > doc.add( new FacetField("CITY", "India", "Gujarat", "Ahmedabad" )) > > > > > > nrtWriter.addDocument(config.build(taxoWriter, doc)); > > > > > > Below is code which i use for searching > > > > > > TaxonomyReader taxoReader = new DirectoryTaxonomyReader(taxoWriter); > > > > > > Query query = ... > > > IndexSearcher searcher = ... > > > DrillDownQuery ddq = new DrillDownQuery(config, query); > > > DrillSideways ds = new DrillSideways(searcher, config, taxoReader); // > > > Config object is same which i created before > > > DrillSidewaysResult result = ds.search(query, null, null, start + > limit, > > > null, true, true) > > > ... > > > Facets f = result.facets > > > FacetResult fr = f.getTopChildren(5, "CITY") [Exception is geneated]// > > > Didn't perform any drill-down,really, its just original query for first > > > time, but wrapped in DrillDownQuery. > > > > > > ... and below gives me empty collection. > > > > > > List<FacetResult> frs= f.getAllDims(5) > > > > > > I debug source code and found, it internally calls > > > > > > FastTaxonomyFacetCounts(indexFieldName, taxoReader, config) // Config > > > object is same which i created before > > > > > > which then calls > > > > > > IntTaxonomyFacets(indexFieldName, taxoReader, config) // Config object > is > > > same which i created before > > > > > > And during this calls the value of indexFieldName is "$facets defined > by > > > constant 'public static final String DEFAULT_INDEX_FIELD_NAME = > > "$facets";' > > > in FacetsConfig. > > > > > > My question is if i am using same FacetsConfig while indexing and > > > searching. why its not identifying correct name of field, and goes for > > > "$facets" > > > > > > Please correct me if i understood wrong. or correct way to solve above > > > problem. > > > > > > Many Thanks. > > > Jigar Shah. > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > > For additional commands, e-mail: java-user-h...@lucene.apache.org > > > > >