MENU
  • ホーム
  • AWSマネージドサービス
    • AWS運用サポート
    • AWSコンサルティング
    • コンテナ導入支援『仁』
  • AWS導入支援
  • WordPress
    • WordPress脆弱性対策
    • WordPress高速化
    • 高速WordPressサーバ『翔』
  • 導入事例
  • Q&A
  • お問い合わせ
AWSの構築・クラウド運用を総合支援【CapsuleCloud】
  • ホーム
  • AWSマネージドサービス
    • AWS運用サポート
    • AWSコンサルティング
    • コンテナ導入支援『仁』
  • AWS導入支援
  • WordPress
    • WordPress脆弱性対策
    • WordPress高速化
    • 高速WordPressサーバ『翔』
  • 導入事例
  • Q&A
  • お問い合わせ
AWSの構築・クラウド運用を総合支援【CapsuleCloud】
  • ホーム
  • AWSマネージドサービス
    • AWS運用サポート
    • AWSコンサルティング
    • コンテナ導入支援『仁』
  • AWS導入支援
  • WordPress
    • WordPress脆弱性対策
    • WordPress高速化
    • 高速WordPressサーバ『翔』
  • 導入事例
  • Q&A
  • お問い合わせ
  1. ホーム
  2. AWS
  3. Amazon CloudSearch 検索機能を実現 実装編

Amazon CloudSearch 検索機能を実現 実装編

2022 7/28
AWS
2022年7月28日
目次

はじめに

前回は、CloudSearchの環境構築を行いました。
今回は実際にアプリケーション側から利用してみたいと思います。

検索キーワードを入力し、結果を受け取って表示することを目指します。
言語はRubyを使用します。

実装

それでは早速実装していきましょう。

1. Endpoint の確認

検索に使用するエンドポイントを確認しましょう。
エンドポイントはCloudSearchのダッシュボード上に記載されています。

2. Gem のインストール

AWS公式から提供されているSDKがありますので、そちらを利用します。
今回はRubyですが、各言語で提供されています。別の言語を使用する場合は言語にあったSDKをご利用ください。
https://aws.amazon.com/jp/tools/#sdk

Rubyの場合はGemでインストールします。

[code]
gem intall aws-sdk
[/code]

Ruby on Railsで使用する場合は、Gemfileに以下を追加してbundle installしましょう。

[code]
gem ‘aws-sdk’, ‘~> 2’
[/code]

 

3. コーディング

準備が整ったので、コードを書きましょう。

cloudsearch_sample.rb

[code language=”ruby”]
require ‘aws-sdk’

# 検索条件となるキーワードを入力
puts ‘Input search keyword:’
keyword = gets

# クライアントの生成(<your endpoint>には、確認したエンドポイントを入れてください)
client = Aws::CloudSearchDomain::Client.new(endpoint: “http://<your endpoint>”)

size = 100
start = 0
loop do
result = client.search(query: keyword, start: start, size: size)
puts “該当件数: #{result.hits.found}件” if start == 0

# 結果を表示
result.hits.hit.each do |hit|
puts “「#{hit.fields[‘book_name’].first}」 #{hit.fields[‘author_name’].first}著”
end

# 結果件数を超えたら終了
break if result.hits.found <= start + size

start += size
end
[/code]

全件取得するために、100件ずつループで取得して結果を表示するようにしています。

動かしてみる

以上で検索ができるようになったはずです。
早速動かしてみましょう。

前段で作成した Ruby ファイルを実行すると、検索キーワードを求められます。
適当な条件を入れて検索してみると…。

問題なく検索できていそうですね。
太宰で検索して一番に坂口安吾の著書が返ってくるのは気になるところではありますが、恐らく作品名にマッチしたものが優先されているのでしょう。
このあたりは状況に応じてCloudSearch側でカスタマイズが必要になる部分かと思います。

今回の例では作品名と著者しか表示していませんが、他にも様々な情報を結果として返すことが可能です。
ぜひご色々と試してみてください。

おわりに

本来、検索周りはリッチであればあるほど、時間をかけて作りこまないといけない部分です。しかし、CloudSearchとSDKを利用することで、少ないコード量で簡単に実装できてしまいました。
このように高度な技術を手軽に利用できるというのがAWSの大きなメリットの一つです。

AWS
aws CloudSearch

関連記事

  • aws-route53
    AWS機能を網羅してみよう3.3 Route53編「実践」DNSフェイルオーバー
  • AWSのクラウドセキュリティ「責任共有モデル」とは?
  • ansible
    AWSのためのAnsible入門
  • aws-s3
    Amazon S3でGlacierを活用したコスト削減法
  • aws-route53
    AWS機能を網羅してみよう3.2 Route53編「実践」
  • aws-s3
    Amazon S3で署名付きURLを使ったアクセス制御
  • aws-route53
    AWS機能を網羅してみよう3.1 Route53編「概要」
  • aws-waf
    AWS WAFでSQLインジェクションと特定URLをブロック
人気記事
  • AWS導入支援
    amazonクラウド、AWSとは?何ができるかデメリット含めわかりやすく説明
  • aws-s3
    Amazon S3で署名付きURLを使ったアクセス制御
  • terraform
    Terraformと変数(variable)のお話
新着記事
  • 10分でスタート!AWSの利用開始までを解説
  • WordPress脆弱性の原因とやっておくべき7つの対策
  • WordPress高速化!6つの簡単な方法で重さを改善
  • 高速WordPressサーバ『翔』
  • 【実例20選】AWS導入企業、活用事例をご紹介
カテゴリー
  • AWS
  • AWS導入支援
  • Rancher
  • Terraform
  • WordPress
アーカイブ
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2017年7月
  • 2017年6月
開発案件多数! フリーランス・エンジニアの求人はテックブレイン

スーパーソフトウエアはAWSパートナーネットワーク(APN)のコンサルティングパートナーです。

スーパーソフトウエアはRancherパートナーネットワークのコンサルティングパートナーです。

logo

カプセルクラウドはAWSクラウドのマネージドサービスです。AWSを安心かつ迅速に導入し、負荷分散・セキュリティ・DevOps・コスト削減など、クラウドサービスのメリットを活かした豊富なベストプラクティスをご提供いたします。

Contents

  • サービス
  • 導入支援
  • WordPress
  • 導入事例
  • ブログ
  • Q&A
  • お問い合せ

お問い合わせ

株式会社スーパーソフトウエア
東京 03-6721-7105
大阪 06-4707-6001
info-capsulecloud@tokyo.supersoftware.co.jp

  • プライバシーポリシー
  • 免責事項
  • 契約約款
  • 特商法に基づく表記
  • 会社情報
  • サイトマップ

© Supersoftware 2017. All rights reserved.

目次