facets.facet.*:
  type: config_entity
  label : 'Facet'
  mapping:
    id:
      type: string
      label: 'ID'
    name:
      type: label
      label: Name
    weight:
      type: integer
      label: 'Weight'
    min_count:
      type: integer
      label: 'Minimum count'
    missing:
      type: boolean
      label: 'Missing'
    missing_label:
      type: label
      label: 'Missing label'
    url_alias:
      type: label
      label: 'Name of facet as used in the URL'
    facet_source_id:
      type: string
      label: 'Facet source id'
    field_identifier:
      type: string
      label: 'Field identifier'
    query_operator:
      type: string
      label: 'Query Operator'
    hard_limit:
      type: integer
      label: 'Hard limit'
    exclude:
      type: boolean
      label: 'Exclude'
    use_hierarchy:
      type: boolean
      label: 'Use hierarchy'
    keep_hierarchy_parents_active:
      type: boolean
      label: 'Keep hierarchy parents active'
    hierarchy:
      type: mapping
      label: 'Hierarchy type'
      mapping:
        type:
          type: string
          label: 'Plugin id'
        config:
          type: plugin.plugin_configuration.facets_hierarchy.[%parent.type]
          label: 'Configuration'
    expand_hierarchy:
      type: boolean
      label: 'Expand hierarchy'
    enable_parent_when_child_gets_disabled:
      type: boolean
      label: 'Enable parent when child gets disabled'
    widget:
      type: mapping
      label: 'Facet widget'
      mapping:
        type:
          type: string
          label: 'Plugin ID'
        config:
          type: facet.widget.config.[%parent.type]
          label: 'Configuration'
    empty_behavior:
      type: mapping
      label: 'Empty behavior'
      mapping:
        behavior:
          type: string
          label: 'The empty behavior identifier'
        text_format:
          type: string
          label: 'Text format'
        text:
          type: text
          label: 'Text'
    only_visible_when_facet_source_is_visible:
      type: boolean
      label: 'Show this facet only when the facet source is visible.'
    show_only_one_result:
      type: boolean
      label: 'Show only one result'
    show_title:
      type: boolean
      label: 'Show title'
    processor_configs:
      type: sequence
      label: 'Processor settings'
      sequence:
        type: mapping
        label: 'A processor'
        mapping:
          processor_id:
            type: string
            label: 'The plugin ID of the processor'
          weights:
            type: sequence
            label: 'The processor''s weights for the different processing stages'
            sequence:
              type: integer
              label: 'The processor''s weight for this stage'
          settings:
            type: plugin.plugin_configuration.facets_processor.[%parent.processor_id]
