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

Reply via email to