1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Denodo を活用して Google 検索結果をデータソースとして利用する方法

Last updated at Posted at 2025-02-17

こんにちは!インサイトテクノロジーの松尾です。

本記事では Denodo を活用して Google 検索結果をデータソースとして利用する方法 を紹介します。
Denodo 社の公式ナレッジベースでも紹介されているため、英語が得意な方は以下のリンクも参考にしてください。

Denodo を使うと Web API でアクセスした結果をデータソースとして設定し、それを SQL でアクセスできるようにすることができます。すなわち Web API による Google 検索の結果をデータソースとして設定し、SQL で簡単にアクセス できるようになります。

例えば、特定のデータに基づいて Google 検索を行う場合、手作業で一つひとつ検索するのは面倒ですよね?
そんなときこそ、今回紹介する方法が役立ちます!

次のセクションでは、具体的な設定手順を紹介していきます。

手順

以下の流れで進めます。

  • Google 検索 API の準備
  • Denodo でデータソースと基本ビューの作成

Google 検索 API の準備

まずは Google 検索 API(プログラム可能検索エンジン) を準備します。

公式ドキュメント: プログラム可能検索エンジンの作成

① 検索エンジンの作成

プログラム可能検索エンジンとは、特定の Web サイトやブログなどを対象に、カスタマイズ可能な検索機能を提供する Google のサービスです。
Google の手順に従い、検索エンジンを作成します。

image.png

作成後、cx= で始まる 検索エンジン ID を取得します。
この ID は API を呼び出す際に必要になります。

② API キーの取得

次に、API を利用するためのキーを取得します。

公式ドキュメント: API キーの取得手順

Google 検索 API は 1 日 100 件まで無料 で利用可能です。

image.png

「キーを取得」を選択後、プロジェクト名を入力し、利用条件に同意の上、「NEXT」を選択します。

image.png

キーを表示して取得します。

③ 検索エンジン ID & API キーの準備完了!

これで、Google 検索 API を使用するための エンジン ID(cx=)API キー が準備できました。
次のステップでは、Denodo にデータソースとして登録していきます!

Denodo でデータソースと基本ビューを作成

続いて、Denodo 側で Google 検索 API をデータソースとして設定 します。

① JSON (HTTP/OpenAPI) タイプのデータソースを作成

  • [データソース] → [JSON (HTTP/OpenAPI)] を選択
  • 以下の情報を入力
    • 名前: (データソース名を適当に設定)
    • ベース URL: https://www.googleapis.com/customsearch/v1
    • 改ページの設定
      • サービスは改ページされたデータを返します: 有効化
      • リクエストの最大数: 10
      • ページインデックス: 選択
        • ページサイズ用の URL 内のパラメータ: count
        • ページサイズ: 10
        • 次のレコードに対する URL 内のパラメータ: start
        • 最初のレコードのインデックス: 1
        • 次のリクエストに対するオフセット: 10

データソース作成

改ページの設定

② データソースの保存

  • 「保存」を選択

API の実行に必要なパラメータを設定していないため、ここでは「コネクションをテスト」を実行してもエラーとなります。

③ 基本ビューの作成

  • 「基本ビューを作成」を選択
  • 以下の情報を設定
    • 相対URL ?key=@key&cx=@cx&q=@word

基本ビュー作成

④ コネクションテスト

  • 「コネクションをテスト」 を選択
  • 接続情報、クエリ文字列を入力し、「OK」を選択

クエリ文字列を入力

⑤ タプルルートの設定

  • [タプルルート] をクリック
  • JSON ルートに /JSONFile/items を設定

ここでタプルルートを指定することで、JSON データを 1 階層だけフラット化できます。(※1段階のみ)

タプルルート設定

⑥ 基本ビューの保存

  • 右上の「基本ビューを作成」 を選択
  • データソース名と同じ名称の基本ビューが作成 される
  • 「編集」をクリックすれば、基本ビューの名称を変更可能

基本ビュー作成後

⑦ クエリの実行

基本ビューからクエリを実行すると Google 検索 API からデータを取得できます!
WHERE 句でパラメータと検索文字列を指定すると、検索結果が テーブル形式 で返ってきます。

image.png

image.png

⑧ パラメータを事前に設定したビューの作成

keycx は常に変更するものではないので、それらをあらかじめ指定したビューを作っておきましょう。今作成した基本ビューに対する選択ビューで、「WHERE 条件」にあらかじめ設定しておきます。

image.png

そして、出力も以下のように絞っておきます。

image.png

作成されたビューはクエリを実行する際には以下のように word のみを指定する必要があります。

image.png

実行結果は以下のようになりましたね!

image.png

おわりに

本記事では、Denodo から Google 検索の結果をデータソースとして利用する方法 を紹介しました。

Google 検索の結果をそのままデータソースとして活用するケースは限定的かもしれませんが、 「検索エンジンでさえも SQL でクエリできるデータソースになり得る」 というのは、なかなか面白い発想ではないでしょうか? そして Denodo にデータソースとして登録することにより Google 検索結果を SQL で扱える ようになります。

VQLによる Google 検索
-- VQL による Google 検索
SELECT * FROM admin.p_bv_google_insight_technology_web WHERE word = 'denodo' LIMIT 10;

Denodo でのクエリ実行結果

Denodo の強みは、SQL インターフェースを通じて外部ツールからもデータへアクセスできることです。例えば、DBeaver などのツールから Denodo に接続してクエリを実行して確認することができます。これはクエリを実行していますが、実際には Google 検索を実行しているのです。

DBeaver からのクエリ実行例

もう少し詳しく知りたい方へ

弊社 インサイトテクノロジー は、Denodo 社の公式パートナーとして、Denodo Platform の紹介、販売、導入支援を行っています。ご興味のある方は、以下のリンクから弊社または Denodo 社へお問い合わせください。

また、

  • 「これからデータ統合基盤を整備したい」
  • 「どのようにデータを統合すればよいか迷っている」
  • 「現在進行中のプロジェクトで特定の課題がある(例: Snowflake に SAP からリアルタイムデータを取り込みたい)」

といったお悩みや具体的なご相談も、ぜひお気軽にお問い合わせください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?