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 путем изменения важности различных кластеров данных.