名称 意味 1 CHARACTER STRING 文字列 2 NATIONAL CHARACTER 文字列 (ユニコードに対応) 3 BIT STRING 0と1のシーケンスで構成されるバイナリ値 4 EXACT NUMERIC 精度とスケールを指定する数値 (絶対数値) 5 APPROXIMATE NUMERIC 精度のみの数値 (近似数値) 6 DATETIME 日付や時刻 7 INTERVAL 時間
CREATE TABLE テーブル名 (項目名 データ型 , …) ;
INSERT INTO テーブル名 (列名 , 列名 , …) VALUES (データ , データ , ...) ;
SELECT 項目名 FROM テーブル名 [WHERE 検索条件] [ORDER BY ソート方法] ;
資料コード (文字列、10バイト) | 資料名 (文字列、30バイト) | 出版者名 (文字列、20バイト) | 出版年 (文字列、4バイト) |
貸出コード (文字列、12バイト) | 貸出日 (文字列、8バイト) | 返却期限日 (文字列、8バイト) | 資料コード (文字列、10バイト) |
CREATE TABLE テーブル名 (項目名 データ型 , …) ;
CREATE TABLE 資料テーブル ( 資料コード CHAR(10) , 資料名 CHAR(30) , 出版者名 CHAR(20) , 出版年 CHAR(4) , PRIMARY KEY(資料コード) , ) ;
CREATE TABLE 貸出テーブル ( 貸出コード CHAR(12) , 貸出日 CHAR(8) , 返却期限日 CHAR(8) , 資料コード CHAR(10) , PRIMARY KEY(貸出コード) , FOREIGN KEY(資料コード) REFERENCES 資料テーブル(資料コード) , ) ;
資料コード | 資料名 | 出版者名 | 出版年 |
1234567891 | 宮沢賢治名作選 | 羽田書店 | 1939 |
1234567892 | セロ弾きのゴーシュ | 岩波書店 | 1957 |
貸出コード | 貸出日 | 返却期限日 | 資料コード |
123456789011 | 20230411 | 20230425 | 1234567891 |
123456789012 | 20230412 | 20230426 | 1234567892 |
INSERT INTO テーブル名 (列名 , 列名 , …) VALUES (データ , データ , ...) ;
INSERT INTO 資料テーブル (資料コード , 資料名 , 出版者名 , 出版年) VALUES ('1234567891' , '宮沢賢治名作選' , '羽田書店' , '1939') ; INSERT INTO 資料テーブル (資料コード , 資料名 , 出版者名 , 出版年) VALUES ('1234567892' , 'セロ弾きのゴーシュ' , '岩波書店' , '1957') ;
INSERT INTO 貸出テーブル (貸出コード , 貸出日 , 返却期限日 , 資料コード) VALUES ('123456789011' , '20230411' , '20230425' , '1234567891') ; INSERT INTO 貸出テーブル (貸出コード , 貸出日 , 返却期限日 , 資料コード) VALUES ('123456789012' , '20230412' , '20230426' , '1234567892') ;
SELECT 項目名 FROM テーブル名 [WHERE 検索条件] [ORDER BY ソート方法] ;
SELECT * FROM 資料テーブル ;
資料コード 資料名 出版者名 出版年 1234567891 宮沢賢治名作選 羽田書店 1939 1234567892 セロ弾きのゴーシュ 岩波書店 1957
SELECT 貸出テーブル.返却期限日 , 資料テーブル.資料名 FROM 貸出テーブル , 資料テーブル WHERE 貸出テーブル.資料コード = 資料テーブル.資料コード ;
返却期限日 資料名 20230425 宮沢賢治名作選 20230426 セロ弾きのゴーシュ
Yahoo!カテゴリとは、Yahoo! JAPANのスタッフがインターネット上のサイトを収集し、「カテゴリ」(テーマやジャンル)ごとに分類した、巨大なリンク集です。 収集されたサイトは、Yahoo!カテゴリの編集方針に基づいてチェックを行ったうえで登録されています。 各カテゴリは階層をもち、階層は「>」で区切られ、上位階層は左側に表示されます。カテゴリ名をクリックすると、そのカテゴリに属するサイトやそのカテゴリの下位階層にあるカテゴリを一覧できます。 このような階層をたどって探す方法は、「ディレクトリ検索」と呼ばれます。
検索の仕組み
一般的な検索クエリの場合、関連がありそうな情報を掲載しているウェブページは、数千件どころか、場合によっては数百万件も存在します。
それでは、Google の検索結果に表示される情報はどのようにして見つけ出されるのでしょうか。検索の道のりは、検索キーワードが入力される前から始まっているのです…
クロールとインデックス登録
Google ではウェブクローラを使用して、ウェブページの情報や、検索インデックスに登録されている公開中のコンテンツを整理しています。
検索アルゴリズム
Google のランキング システムは、検索インデックスに登録されている膨大な数のウェブページの中から、有益で関連性の高い検索結果を瞬時に表示します。
便利な検索サービス
インターネット上のコンテンツは以前にもまして増加し、多様化しています。それに伴い、Google では検索結果をさまざまな形式で提供し、ユーザーが探している情報をすばやく見つけられるようにしています。
検索が情報を整理する仕組み
ユーザーが検索する前から、ウェブクローラは膨大な数のウェブページから情報を収集し、検索インデックスに登録して整理しています。
検索の基本
クロールのプロセスは、過去のクロールから得られたウェブアドレスとウェブサイトの所有者から提供されたサイトマップで構成されるリストから始まります。クローラはこれらのウェブサイトにアクセスし、そのサイト上のリンクを使って他のページを探します。特に、新しいサイトの情報、既存のサイトの変更点、無効なリンクについて重点的に確認します。クロールするサイト、クロールの頻度、各サイトから取得するページ数はコンピュータ プログラムによって決定されます。
Google では、Google によるサイトのクロール方法をサイトの所有者が細かく指定できるように、ウェブマスター向けの各種ツールを提供しています。これらのツールを使用して、サイト上のページを処理する方法について具体的に指定したり、再クロールをリクエストしたり、「robots.txt」というファイルを使用してクロールを無効にしたりすることができます。Google では、有料でサイトのクロール頻度を増やすことは行っていません。すべてのウェブサイトに同じツールを提供し、ユーザーにとって最適な検索結果を表示できるようにしています。
クロールによる情報の検出
ウェブは、一括で管理されないまま、絶えず書籍が増え続けている図書館のようなものです。Google では、ウェブクローラと呼ばれるソフトウェアを使用して、公開されているウェブページを探します。クローラは、ユーザーがウェブ上でコンテンツを閲覧するときと同じように、ウェブページを見て、ページ上のリンクをたどります。リンクからリンクへ移動し、ウェブページに関するデータを Google のサーバーに蓄積していきます。
インデックスによる情報の整理
クローラが特定のウェブページを見つけると、Google のシステムがブラウザと同様にページのコンテンツを表示します。Google ではキーワードやウェブサイトの新しさといった主要なシグナルに注目し、検索インデックスにそのすべての情報を記録しています。
Google 検索のインデックスには何千億ものウェブページが登録されており、その容量は優に 1 億 GB を超えます。Google のインデックスには、本の巻末にある索引と同じように、各ウェブページに含まれているすべての語が 1 つずつ追加されています。つまり、インデックスにウェブページが登録されると、そのページに含まれるすべての語がインデックスに追加されるということです。
Google ではナレッジグラフを利用して、単にキーワードを照合するだけでなく、ユーザーが気になる人、場所、物事などを具体的に把握するための取り組みを続けています。そのため、ウェブページに関する情報のみならずその他の種類の情報も体系的に整理しています。Google 検索では現在、主要な図書館に所蔵されている何百万冊という書籍からテキストを検索したり、地域の公共交通機関の移動時間を調べたり、世界銀行などの一般公開されている情報のデータを検索したりすることができます。
検索アルゴリズムの仕組み
ウェブ上に存在する情報の量を考えると、何か情報の整理を助けてくれるものがなければ、必要な情報を見つけるのは不可能に近いでしょう。Google のランキング システムはそのために設計されています。検索インデックスに登録されている膨大な数のウェブページを分類し、最も関連性の高い有用な結果を瞬時に検索して、探している情報を見つけやすい形でユーザーに表示します。
このランキング システムは 1 つのアルゴリズムではなく、一連のアルゴリズムで構成されています。最も有用な情報を表示するため、検索アルゴリズムはさまざまな要因(検索クエリの単語、ページの関連性や有用性、ソースの専門性、ユーザーの位置情報や設定など)を検討します。各要因に適用される重み付けはクエリの性質によって異なります。たとえば、最新のニュース トピックに関するクエリに回答する場合は、言葉の定義に関するクエリに回答する場合よりも、コンテンツの鮮度がより大きな役割を果たします。
Google では、検索アルゴリズムが関連性や品質の高い基準を満たせるように、ライブテストや、世界各国にいる熟練した外部の検索品質評価者による評価など、厳正なプロセスを整備しています。品質評価者は、検索アルゴリズムに関する Google の目標が定義された厳しいガイドラインに準拠しています。このガイドラインは一般公開されており、誰でも見ることができます。
クエリに対して返される結果の判断にかかわる主な要因について詳しくは、以下をご覧ください。
検索キーワードを分析する
最適な回答を返すためには、検索の意図を把握することが大切です。関連性の高い情報が含まれているページを見つけるために最初に行うのは、検索クエリに含まれる単語の意味の分析です。Google では、どの単語をインデックスで検索する必要があるのか解釈するための言語モデルを構築しています。
ここでは、スペルミスを解釈するのと同じくらい単純に見える手順を行います。さらに、自然言語理解に関する最新の調査結果の一部を適用することで、入力されたクエリのタイプを理解しようと試みるのです。たとえば、1 つの単語に複数の定義がある場合でも検索がユーザーの意図を理解できるのは Google の類義語システムのおかげです。このシステムは開発に 5 年以上かかりましたが、さまざまな言語の検索の 30% 以上で大きな成果を上げています。
Google では、ユーザーがどのような種類の情報を探しているのかについても理解しようとします。特定のことに関する検索か、幅広い検索か。「口コミ」、「画像」、「開店時間」など、具体的な情報が必要なことを示す検索キーワードはあるか。その日に公開されたコンテンツを探していることを示す、急上昇ワードの検索をしているか。付近のお店や現在地の情報を検索しているか。こうしたことも、アルゴリズムで分析します。
検索キーワードを照合する
次に、クエリに一致する情報が含まれるウェブページを探します。ごく基本的な検索を行った場合、アルゴリズムはインデックス内で検索キーワードを探して適切なページを見つけます。そして、そのキーワードが登場する頻度やページ上の場所(タイトル、見出し、本文中など)について分析します。
キーワードの照合に加えて、アルゴリズムでは、ユーザーが探している情報に十分合致する検索結果となるかどうかを評価するための手掛かりを見つけます。「犬」を検索する場合、必要なのは「犬」という単語が何百回も出現するページではありません。つまり、ただクエリの言葉を繰り返すだけでなく、クエリに対する答えが含まれているページかどうかを見極める必要があります。そこで検索アルゴリズムでは、犬の画像や動画、犬種のリストなど、関連するコンテンツがページに含まれているかどうか分析します。最後に、クエリと同じ言語で作成されたページかどうかを確認して、ユーザーが使用する言語のページを優先します。
有益なページのランキング
一般的な検索クエリの場合、関連がありそうな情報を掲載しているウェブページは、数千件どころか、場合によっては数百万件も存在します。検索クエリに対して最適なページを検索結果の上位に表示できるように、これらのウェブページの有用性を評価するためのアルゴリズムも作成しています。
これらのアルゴリズムでは、ウェブが提供できる最適な情報を特定するために、コンテンツの新しさ、検索キーワードが出現する回数、ページのユーザー エクスペリエンスの質など、さまざまな異なる要因を分析します。また、内容の信頼性や権威があるかどうかを評価するために、同様のクエリについて多数のユーザーに評価されているサイトを見つけます。検索内容に関連する他の著名なウェブサイトがそのページにリンクしている場合は、情報の質が高いことの確かな証拠となります。
ウェブ上には、キーワードを何度も繰り返す、PageRank を転送するリンクを購入するなどの手法を使って、何とか検索結果の上位に入ろうとするスパムサイトが多数存在します。こうしたサイトは、利用価値がほとんどないばかりか、Google のユーザーに害を及ぼしたり誤解を与えたりする恐れもあります。そこで Google では、スパムサイトを特定したり、Google のウェブマスター向けガイドライン(品質に関するガイドライン)に違反するサイトを検索結果から削除したりするためのアルゴリズムを開発しています。
最適な検索結果を返す
検索結果を表示する前に、Google ではすべての関連情報に整合性があるかどうかを評価します。たとえば、検索結果に共通する話題は 1 つだけか、それとも複数あるのか、多数のページが限定的な 1 つの解釈に集中していないか、といったことです。Google は、検索のタイプに応じて最も利便性の高い形式でさまざまな情報を表示することに努めています。また、ウェブの発展に合わせて Google のランキング システムも進化させ、より多くのクエリに対して質の高い検索結果を提供できるようにしています。
文脈を考慮する
現在地、過去の検索履歴、検索設定などの情報はすべて、検索の時点で最も有用で関連性が高い情報を検索結果として提供するのに役立っています。
Google では、ユーザーの国などの位置情報を使用して、お住まいの地域に関連するコンテンツを提供します。たとえば、シカゴに住んでいるユーザーが「football」で検索すると、ほとんどの場合、アメリカン フットボールやシカゴベアーズに関する検索結果が上位に表示されます。一方、ロンドンにいるユーザーが「football」で検索した場合は、サッカーやプレミアリーグに関係のある検索結果が上位に表示されます。自分にとって役立ちそうな検索結果が表示されるようにするには、検索の設定も重要です。検索の設定では、使用する言語を指定したり、セーフサーチ(露骨な表現を含む検索結果を除外できるツール)を有効にしたりすることができます。
場合によっては、ユーザーの最近の検索行動に関する情報に基づいて検索結果をカスタマイズすることもあります。たとえば、「バルセロナ」を検索しているユーザーが、その少し前に「バルセロナ対アーセナル」を検索していた場合、今検索しているのは都市ではなくサッカーチームについての情報だという重要な手掛かりになります。検索機能を向上させるために検索履歴を使用するかどうか(Google アカウントにどのデータを保存するかなど)は、ユーザー自身が myaccount.google.com で変更できます。
さまざまな形式で提供できる便利な検索サービス
ラリー ペイジはかつて、「完璧な検索エンジンとは、ユーザーの意図を正確に把握し、ユーザーのニーズにぴったり一致する答えを返すものである」と述べたことがあります。Google が実施しているテストでは、ユーザーが質問に対する答えをすぐに手に入れたいと考えていることが、長年にわたり一貫して示されています。そこで Google では、最も関連性の高い回答を、より速く、ユーザーが探している情報のタイプに最適な形式で提供するために、さまざまな改善を重ねてきました。
たとえば天気について検索する場合、ユーザーは、気象関連のサイトへのリンクだけでなく、天気予報も検索結果ページに表示されることを期待するでしょう。あるいはルート検索であれば、「中部空港 ルート」で検索した場合に、関連のあるサイトへのリンク以外にも、ルートが示された地図が表示されれば便利です。こうしたことは、帯域幅に制限があり、タップして別のサイトにスムーズに移動できない場合もあるモバイル端末では特に重要です。
何千人ものエンジニアや科学者たちが、アルゴリズムの改良と便利で新しい検索方法の構築に取り組んでいます。検索の新たな機能の一部を以下にご紹介します。2018 年だけでもおよそ 3,234 件の改善が行われましたが、これは Google 検索を改善するための長年にわたる努力のごく一部にすぎません。
ナレッジグラフからの回答
Google は 2012 年にナレッジグラフを導入しました。ナレッジグラフは、10 億件を超える現実世界の人物、場所、物事と、それらに関する 500 億件を超える事実とその関係性で構成される Google のデータベースです。この世界は、単なる文字列だけでなく実際の物事でできています。Google がナレッジグラフを開発したのは、物事のつながりを示すためなのです。「エッフェル塔とは」、「エッフェル塔の高さ」、「公開されたのはいつ」といった質問に対する答えがすぐに表示され、リンクをクリックすればウェブ上の詳しい情報にアクセスできます。
ルートと交通状況
Google で特定の住所(たとえば「青山通り」)を検索するユーザーにとって、その通りについて記載されているウェブサイトへのリンクが必要なわけではないことは、以前から明らかでした。当然ながら、ユーザーはその場所とそこに行く方法が知りたいのです。そこで、クリックやドラッグができる地図を開発し、目的地について簡単に調べられるようにしました。
回答を直接提供
検索内容によっては、直接的な回答が必要な場合もあります。そこで Google では、すぐに役立つ回答を提供できるように、ユーザーが探している情報やサービスを提供できる企業と連携して、その企業のコンテンツを検索結果ページに直接掲載できるようにしています。たとえば、地元の映画館の上映時間を検索しているユーザーに対しては、信頼できる最新の映画情報を提供しているデータ プロバイダやチケット販売会社と協力して、その地域での上映時間を表示したり、映画のチケットをすぐに購入したりできるようにしています。検索結果ページに天気予報や試合結果が直接表示されるのも、これと同じ仕組みです。
強調スニペット
Google 検索で質問するユーザーがすばやく簡単に回答を見つけられるようにすることが Google の目標です。強調スニペットは、ユーザーの質問に関連があるとアルゴリズムが判断したウェブサイトのコンテンツからプログラムで生成されたスニペットで、強調表示して目立たせることですぐに回答が見つかるようにしています。すべての強調スニペットに、サードパーティのウェブサイトから引用された情報のスニペットと、そのページへのリンク、ページのタイトルと URL が含まれています。
リッチリスト
ユーザーの質問に最適な回答は、必ずしも 1 つとは限りません。関係のある人物や場所、物事などが複数見つかる場合もあります。たとえば、「灯台 カリフォルニア」や「有名 女性 天文学者」で検索すると、該当する検索結果の画像がページの上部に横一列に表示されます。ウェブ上に蓄積された情報とナレッジグラフを組み合わせることで、「2016 年 アクション映画 おすすめ」、「ローマ 人気 観光」などの検索結果の画像を一覧表示できるようにしています。いずれかの画像をクリックすると、その検索結果についてウェブ上でもっと詳しく調べることができます。
尋ねる前に情報が手に入る
ユーザーは、情報がすぐに手に入ることを期待しています。そこで、スマートフォン向けの Google アプリでは、各種ショートカットや便利な情報のフィードをホーム画面上に表示するようにしました。検索欄に入力しなくても、スポーツ、外食、エンターテイメント、天気などについての詳しい情報にすぐにアクセスすることができます。