WordPress

WordPressからElasticsearchに記事情報を投入する

Elasticsearchいいよ Elasticsearch やりたいこと WordPressの記事データをElasticsearchで検索したい やらないといけないこと WordPressの記事データをElastics […]

広告ここから
広告ここまで

Elasticsearchいいよ Elasticsearch

やりたいこと

WordPressの記事データをElasticsearchで検索したい

やらないといけないこと

WordPressの記事データをElasticsearchに投入する

コード

function put_elasticsearch( $post_id )  {
  // Create Import data 
  $post = get_post( $post_id );
  $query = array(
    'title' => $post->post_title,
    'content' => $post->post_content,
  );
  
  // PUT to Elasticsearch
  $es_endpoint = 'https://example.com';
  $es_index = 'wordpress';
  $es_type  = 'post';
  $es_id = $post_id;
  $es_api = path_join( $es_endpoint, path_join( $es_index, path_join( $es_type, $es_id ) ) );
  $es_args = array(
    'method' => 'POST',
    'body' => json_encode( $query ),
  );
  wp_remote_post( $es_api, $es_args );

  return $post_id;
}
add_action( 'publish_post', 'put_elasticsearch' );

記事の新規追加だけであればPUTの方がいいですが、更新とかでもインデックさせたいのでPOSTを使ってます。
基本的にはhttps://ELASTICSEARCH_ENDPOINT/INDEX/TYPE/IDに対してJSONデータをbodyに入れたリクエストを送ればだいたいOKです。

bulkインポートはちょっとやり方が違うので要注意です。

ブックマークや限定記事(予定)など

WP Kyotoサポーター募集中

WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。

14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。

広告ここから
広告ここまで

Related Category posts