wpfts_cluster_weights (Filter)

Фильтр wpfts_cluster_weights в WP Fast Total Search позволяет разработчикам модифицировать веса кластеров, используемые при расчете релевантности результатов поиска. Кластеры - это логические группы данных, такие как заголовок поста (post_title), контент поста (post_content), отрывок (post_excerpt) и любые другие кластеры, определённые правилами индексации. Вес кластера определяет, насколько важны данные этого кластера при поиске. Чем выше вес, тем большее влияние оказывает совпадение терминов в данном кластере на релевантность результата.

Когда используется

Этот фильтр полезен в следующих случаях:

  • Настройка важности различных частей контента при поиске. Например, вы можете увеличить вес заголовка, чтобы посты с совпадениями в заголовке показывались выше в результатах поиска.
  • Динамическое изменение весов кластеров в зависимости от параметров запроса или других условий.

Аргументы

  • $cluster_weights (array): Ассоциативный массив весов кластеров. Ключи массива - названия кластеров, значения - веса (числа от 0 до 1).
  • $wpq (object): Объект WP_Query, содержащий параметры текущего запроса.

Возвращаемое значение

  • $cluster_weights (array): Модифицированный ассоциативный массив весов кластеров.

Пример

/**
 * Увеличивает вес заголовка поста и уменьшает вес контента.
 */
add_filter('wpfts_cluster_weights', 'my_wpfts_cluster_weights_filter', 10, 2);
function my_wpfts_cluster_weights_filter($cluster_weights, $wpq) {
  $cluster_weights['post_title'] = 1; // Максимальный вес для заголовка.
  $cluster_weights['post_content'] = 0.2; //  Меньший вес для контента.
  return $cluster_weights;
}

Пример динамического изменения весов

add_filter( 'wpfts_cluster_weights', 'adjust_cluster_weights', 10, 2 );
 
function adjust_cluster_weights( $cluster_weights, $wpq ) {
	if ( is_tax( 'product_cat' ) ) { // изменяем веса, если находимся на странице категории товаров
		$cluster_weights['product_title'] = 0.9;
		$cluster_weights['product_description'] = 0.6;
	}
 
	return $cluster_weights;
}

Важные замечания

  • Веса кластеров должны быть числами от 0 до 1. Значение 0 означает, что данные этого кластера не учитываются при расчете релевантности.
  • Фильтр wpfts_cluster_weights вызывается перед выполнением поиска.

Этот фильтр предоставляет разработчикам возможность тонкой настройки алгоритма ранжирования результатов поиска в WP Fast Total Search путем изменения важности различных кластеров данных.