Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-5479

Make default dimension config in FacetConfig adjustable

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 4.8, 6.0
    • modules/facet
    • None
    • New

    Description

      Now it is hardcoded to DEFAULT_DIM_CONFIG. This may be useful for most standard approaches.

      However, I use lots of facets. These facets can be multivalued, I do not know that on beforehand. So what I would like to do is to change the default config to mulitvalued = true.

      Currently I have a working, but rather ugly workaround that subclasses FacetConfig, like this:

      CustomFacetConfig.java
      public class CustomFacetsConfig extends FacetsConfig
      {
      	public final static DimConfig DEFAULT_D2A_DIM_CONFIG = new DimConfig();
      	static
      	{
      		DEFAULT_D2A_DIM_CONFIG.multiValued = true;
      	}
      
      	@Override
      	public synchronized DimConfig getDimConfig( String dimName )
      	{
      		DimConfig ft = super.getDimConfig( dimName );
      
      		if ( DEFAULT_DIM_CONFIG.equals( ft ) )
      		{
      			return DEFAULT_D2A_DIM_CONFIG;
      		}
      		return ft;
      	}
      }
      

      I created a patch to illustrate what I would like to change. By making a protected method it is easier to create a custom subclass of FacetConfig.

      Also, maybe there are better way to accomplish my goal (easy default to multivalue?)

      Attachments

        1. LUCENE-5479.patch
          1 kB
          Rob Audenaerde
        2. LUCENE-5479.patch
          0.7 kB
          Rob Audenaerde

        Activity

          People

            mikemccand Michael McCandless
            robau Rob Audenaerde
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: