ElasticSearch - Похожие записи WordPress - PullRequest
0 голосов
/ 03 сентября 2018

Я впервые пытаюсь использовать Elasticsearch и прошу прощения за любой неудобный вопрос.

Я пытаюсь использовать эластичный поиск в WordPress по двум основным причинам: первая производительность и вторая функция «связанные посты» более высокого качества.

Я установил сервер Flexiblesearch, я установил плагин Wordpress для Elaspress, синхронизировал (проиндексировал) базу данных с помощью плагина. поиск работает очень хорошо, но не связанные посты.

Похожие посты дают мне только последние опубликованные статьи не похожие посты:

Я вызываю эту функцию плагина ep_find_related (post_id, return), которая должна возвращать мне похожие сообщения, но вместо этого она возвращает последние сообщения, которые не связаны с post_id. Ниже приведена функция плагина с функцией formated_args:

function ep_related_posts_formatted_args( $formatted_args, $args ) {
if ( ! empty( $args[ 'more_like' ] ) ) {
$formatted_args[ 'query' ] = array(
'more_like_this' => array(
'ids' => is_array( $args[ 'more_like' ] ) ? $args[ 'more_like' ] : array( $args[ 'more_like' ] ),
'fields' => apply_filters( 'ep_related_posts_fields', array( 'post_title', 'post_content', 'terms.post_tag.name' ) ),
'min_term_freq' => 1,
'max_query_terms' => 12,
'min_doc_freq' => 1,
)
);
}

return $formatted_args;
}

/**

Search Elasticsearch for related content
@param int $post_id
@param int $return
@since 2.1
@return array|bool
*/
function ep_find_related( $post_id, $return = 5 ) {
$args = array(
'more_like' => $post_id,
'posts_per_page' => $return,
'ep_integrate' => true,
);

Пожалуйста, дайте мне знать, что я делаю неправильно

Спасибо, что нашли время помочь мне.

...