NAVERクラウドプラットフォーム商品の使用方法をより詳しく提供し、様々なAPIの活用をサポートするために[説明書]と[APIリファレンス]を分けて提供しています。
ご使用の前に
Q. Cloud Searchとは何ですか?
- Cloud Searchは、ユーザーのウェブサイトに必要な検索機能を簡単に実装できるようにサポートするクラウド基盤の開発プラットフォームです。 Cloud Searchを使って別途のインフラを構築せず、簡単に検索エンジンを作成できます。
Q. どのように使いますか?
- コンソールで使用目的に応じてドメインを作成します。 例えば、shopping_dev、shopping_stage、shopping_prodのように開発環境別、またはサービス別に区別できます。
- 検索する文書の形式に合わせてセクションを定義します。 データベースに例えると、ドメインはテーブル、セクションはカラムになります。
- 検索用途に応じてインデックスを定義します。 文書が商品名、価格、商品説明、おすすめ数、タグなどのセクションで構成されている場合、検索の目的に応じて商品名だけで検索することも、商品名と価格、おすすめ数を利用して検索したい場合もあります。 このように、提供する検索方法に合わせてインデックスを作成すると、より迅速にレスポンス結果を提供することができます。 インデックスの作成目的は、データーベースのと非常に似ています。
- このように、ドメインが定義されると、保有している文書を追加します。
- 文書が追加/削除/更新されると、自動的にインデックスが更新されます。 文書の特性や量、インデックスの定義によって、インデックスが更新されるまでかかる時間には差があります。
- 顧客のサービスはAPI Gatewayサービスに連携されたCloud Search APIを呼び出して検索を実行します。
Q. どのような場合に使えますか?
- 検索が必要なほぼすべての場合に使用できます。
- ネットショップを運営する場合、商品検索のために使用できます。
- 社員情報、案内事項、投稿など社内情報の検索に活用できます。
- 掲示板サービスを提供する場合、掲示板の検索機能を実装できます。
Q. Cloud Searchのメリットは何ですか?
- 別途のインフラを構築せず、クリック数回だけで検索エンジンを作成できます。
Cloud Searchを利用すると、別途のサーバ運営やパッケージのインストールをしなくても、顧客の専用検索エンジンを作成できます。 Docker技術を使用するので、必要に応じて増設するのも非常に簡単で、サーバに障害が発生しても自動的に復旧し、必要であれば冗長化の構成も可能です。 - 20年間蓄積されたNaver検索エンジンの技術に基づいているため、韓国語の形態素分析のような機能面や検索レスポンススピードのような性能面において他社に比べて大きなメリットがあります。
- 継続的に機能を改善していく予定です。
検索エンジンは一般の人が理解しにくい複雑な技術に基づいて作成されます。 しかし、ユーザーが難しい技術をあえて理解しなくても簡単に使用できるように、顧客のサービスに必要な機能を中心にCloud Searchを改善していく予定です。
Q. なぜCloud Searchを使わなければなりませんか?
検索サービスを新たに作成するためには、下記のような手続きが必要ですが、それぞれ難しい技術が必要でもあり、時間も多くかかる作業です。
- 企画者と開発者が検索サービスの作成について議論
- ランキングエンジニアとランキング方法について議論
- 物理サーバデバイスにエンジン及び各種パッケージをインストール
- 検索ロジックの実装
- 文書インデックスの設定及び文書入力の連携
- サーバ性能の最適化及び検索APIの連携
- 障害及びエラー対応
Cloud Searchを使うと、上記の作業を簡単に解決できます。
- 企画者が直接ドメインを作成してテスト
- リアルタイムでランキング方法の修正及びサービスの適用(提供予定)
- トラフィックと文書量によってContainer数を変更すると、手動でパッケージをインストールしなくても自動で環境を構築
- 企画者と開発者がウェブで直接検索をテスト
- 別途の運営組織がなくてもサーバ運営と障害に対応可能
- 必要最小限のインフラのみ使用し、不要なリソースは直ちに返却できるため、運営コストの最小化
Cloud Searchの紹介
Cloud SearchはNAVERの検索エンジンをクラウドサービスで作成したもので、NAVERクラウドプラットフォームユーザーはCloud Searchを利用して自分だけの検索エンジンを作成できます。 このサービスは検索エンジンを作成し使用するための機能を提供します。
- ドメイン管理:用途に応じてドメインを作成したり削除できます。
- セクション管理:検索しようとする文書の形式を設定できます。
- インデックス管理:検索クエリの目的に応じて検索しようとするセクションが異なることがあります。 インデックス管理を通じて検索する場合、照会しようとするセクションを定義できます。
- 検索管理:多国語辞典、同義語辞典を設定してより正確な結果を照会できます。
- ランキング管理:検索対象文書に加重値を設定し、検索結果の順序を異にして照会できます。
- 自動補完:検索しようとする単語の自動補完検索キーワードの候補をセクションやインデックスで設定できます。
- ストップワード管理:検索クエリから外される単語を設定できます。
- モニタリング:課金に関する主な指標を照会できます。
- クエリ分析:流入したクエリ別に人気検索キーワードと時間別、地域別クエリの統計を照会できます。
- API:関連機能はすべてREST APIで提供されます。
用語のまとめ
- ドメイン:検索エンジンを用途に応じて区別するために提供する概念です。 あらゆるサービス別または開発/テスト/運営環境によって別途のドメインを作成できます。
- インデックス:文書の内容を分析して容易に検索できる形式のデータを作成する行為、またはそのデータを指します。
- Container:Docker技術を利用して作成した仮想サーバを意味します。
- Query DSL(Query Domain Specific Language):検索エンジンの様々なオプションを活用できるjson形式のフォーマットをサポートします。 クエリ、ソート、制限、要約、ハイライトなどの機能を提供し、今後様々な機能を追加する予定です。
改善計画
検索エンジンを利用して開発する際、重要度または使用頻度の高い機能を優先的に提供する予定です。 複雑で使いにくい機能は外されるか、優先順位が低く維持されます。
- 様々なモニタリング項目を収集してアラームを設定する機能
- クエリ分析項目
- 多言語対応
- Containerの運営に関連した機能
その他にも様々な機能を近日中に提供する予定です。