# Schema for the configuration files of the search module.

search.settings:
  type: config_object
  label: 'Search settings'
  mapping:
    and_or_limit:
      type: integer
      label: 'AND/OR combination limit'
    default_page:
      type: string
      label: 'Default search page'
    index:
      type: mapping
      label: 'Indexing settings'
      mapping:
        cron_limit:
          type: integer
          label: 'Number of items to index per cron run'
        overlap_cjk:
          type: boolean
          label: 'Simple CJK handling'
        minimum_word_size:
          type: integer
          label: 'Minimum word length to index'
        tag_weights:
          type: mapping
          label: 'HTML tags weight'
          mapping:
            h1:
              type: integer
              label: 'Tag h1 weight'
            h2:
              type: integer
              label: 'Tag h2 weight'
            h3:
              type: integer
              label: 'Tag h3 weight'
            h4:
              type: integer
              label: 'Tag h4 weight'
            h5:
              type: integer
              label: 'Tag h5 weight'
            h6:
              type: integer
              label: 'Tag h6 weight'
            u:
              type: integer
              label: 'Tag u weight'
            b:
              type: integer
              label: 'Tag b weight'
            i:
              type: integer
              label: 'Tag i weight'
            strong:
              type: integer
              label: 'Tag strong weight'
            em:
              type: integer
              label: 'Tag em weight'
            a:
              type: integer
              label: 'Tag a weight'
    logging:
      type: boolean
      label: 'Log searches'

search.page.*:
  type: config_entity
  label: 'Search page'
  mapping:
    id:
      type: machine_name
      label: 'ID'
    label:
      type: required_label
      label: 'Label'
    path:
      type: string
      label: 'Search page path'
    weight:
      type: integer
      label: 'Weight'
    plugin:
      type: string
      label: 'Plugin'
    configuration:
      type: search.plugin.[%parent.plugin]

block.settings.search_form_block:
  type: block_settings
  label: 'Search block'
  mapping:
    page_id:
      type: string
      label: 'Search page'
