array (
  'query' => 
  array (
    'bool' => 
    array (
      'must' => 
      array (
        'function_score' => 
        array (
          'max_boost' => 50,
          'score_mode' => 'multiply',
          'functions' => 
          array (
            0 => 
            array (
              'gauss' => 
              array (
                'dupdate' => 
                array (
                  'origin' => '2026-08-28',
                  'scale' => '30d',
                  'decay' => 0.69999999999999996,
                ),
              ),
            ),
            1 => 
            array (
              'field_value_factor' => 
              array (
                'field' => 'score',
                'missing' => 0,
                'factor' => 3,
                'modifier' => 'log1p',
              ),
            ),
            2 => 
            array (
              'field_value_factor' => 
              array (
                'field' => 'active',
                'missing' => 0,
                'factor' => 1,
                'modifier' => 'log1p',
              ),
            ),
            3 => 
            array (
              'filter' => 
              array (
                'match_phrase' => 
                array (
                  'tradenamet' => 'concrete products',
                ),
              ),
              'weight' => 20,
            ),
          ),
          'query' => 
          array (
            'bool' => 
            array (
              'must' => 
              array (
                'bool' => 
                array (
                  'must' => 
                  array (
                    'bool' => 
                    array (
                      'should' => 
                      array (
                        0 => 
                        array (
                          'multi_match' => 
                          array (
                            'query' => 'concrete products',
                            'type' => 'best_fields',
                            'minimum_should_match' => '2<80%',
                            'fields' => 
                            array (
                              0 => 'tradenamet^90',
                              1 => 'brandnamet^90',
                              2 => 'tagst^60',
                              3 => 'headingnamet^20',
                              4 => 'fulladdrt^20',
                            ),
                          ),
                        ),
                        1 => 
                        array (
                          'multi_match' => 
                          array (
                            'boost' => 5,
                            'query' => 'concrete products',
                            'type' => 'best_fields',
                            'minimum_should_match' => '2<80%',
                            'fields' => 
                            array (
                              0 => 'tradenamet^90',
                              1 => 'brandnamet^90',
                              2 => 'tagst^60',
                              3 => 'headingnamet^20',
                              4 => 'fulladdrt^20',
                            ),
                          ),
                        ),
                      ),
                    ),
                  ),
                  'should' => 
                  array (
                    0 => 
                    array (
                      'multi_match' => 
                      array (
                        'type' => 'phrase',
                        'fields' => 
                        array (
                          0 => 'descfeaturet',
                        ),
                        'query' => 'concrete products',
                        'slop' => 2,
                        'boost' => 0.20000000000000001,
                      ),
                    ),
                    1 => 
                    array (
                      'multi_match' => 
                      array (
                        'type' => 'phrase',
                        'query' => 'concrete products',
                        'fields' => 
                        array (
                          0 => 'tradenamet^9',
                          1 => 'brandnamet^9',
                          2 => 'tagst^6',
                          3 => 'headingnamet^2',
                        ),
                        'boost' => 5,
                      ),
                    ),
                    2 => 
                    array (
                      'multi_match' => 
                      array (
                        'type' => 'phrase',
                        'fields' => 
                        array (
                          0 => 'descfeaturet',
                        ),
                        'query' => 'concrete products',
                        'slop' => 2,
                        'boost' => 0.5,
                      ),
                    ),
                    3 => 
                    array (
                      'multi_match' => 
                      array (
                        'type' => 'phrase',
                        'query' => 'concrete products',
                        'fields' => 
                        array (
                          0 => 'tradenamet^9',
                          1 => 'brandnamet^9',
                          2 => 'tagst^6',
                          3 => 'headingnamet^2',
                        ),
                        'boost' => 10,
                      ),
                    ),
                  ),
                ),
              ),
            ),
          ),
        ),
      ),
      'filter' => 
      array (
        'bool' => 
        array (
          'must_not' => 
          array (
            0 => 
            array (
              'term' => 
              array (
                'customertype' => 'DM',
              ),
            ),
          ),
          'must' => 
          array (
            0 => 
            array (
              'exists' => 
              array (
                'field' => 'businessid',
              ),
            ),
          ),
        ),
      ),
    ),
  ),
  'highlight' => 
  array (
    'fields' => 
    array (
      'tradenamet' => 
      array (
      ),
      'brandnamet' => 
      array (
      ),
      'tagst' => 
      array (
      ),
      'headingnamet' => 
      array (
      ),
      'descfeaturet' => 
      array (
        'no_match_size' => 300,
        'fragment_size' => 300,
        'number_of_fragments' => 1,
      ),
      'fulladdrt' => 
      array (
      ),
      'fulladdre' => 
      array (
      ),
    ),
  ),
  'suggest' => 
  array (
    'text' => 'concrete products',
    'suggesting' => 
    array (
      'term' => 
      array (
        'field' => 'tradenamet',
        'max_edits' => 2,
      ),
    ),
  ),
  'from' => '180',
  'size' => '20',
)