SlideShare a Scribd company logo
国会図書館サーチの概要
2011/05/16    大谷 純
サービス概要
   国立国会図書館の新しい検索サービス

   国立国会図書館が所蔵する図書の全てを探すことが可能

   都道府県立図書館、政令指定都市の市立図書館の蔵書、
    国立国会図書館デジタルアーカイブポータル(PORTA)が
    収録している各種のデジタル情報も探すことが可能

   本格サービス開始は平成24年1月を予定。現在はプロトタ
    イプ版

   対象データは約3000万(収集データは約5800万件)
                       ※「国立国会図書館サーチ」についてより抜粋
システムの概要
                                                                     PC・携帯

 SRW
                                                   検索系Webアプリ          SRU
          横断検索                                      (Enjuベース)
 HTTP                                                                 Open
                                                                     Search




                                                                DB
                                                  Solr
                                           Solr

                                                     検索・提供機能
                                                     (Ruby/Rails)


OAI-PMH
                                           Solr
          メタデータ
                  XML変換                   インデック
            収集
                                           ス生成
 FTP




                  書誌同定
                  グループ                    差分抽出             DB更新
                    化

                            組織化機能
          収集機能            (Hadoop/HDFS)
システムの概要(収集機能)
                                                                     PC・携帯

 SRW
                                                   検索系Webアプリ          SRU
          横断検索                                      (Enjuベース)
 HTTP                                                                 Open
                                                                     Search




                                                                DB
                                                  Solr
                                           Solr

                                                     検索・提供機能
                                                     (Ruby/Rails)


OAI-PMH
                                           Solr
          メタデータ
                  XML変換                   インデック
            収集
                                           ス生成
 FTP




                  書誌同定
                  グループ                    差分抽出             DB更新
                    化

                            組織化機能
          収集機能            (Hadoop/HDFS)
システムの概要(収集機能)
   横断検索
     リアルタイムに他のサービスへの検索を行う
     Enjuとの連携にはSRUを利用




   メタデータ収集機能
     国会図書館の所蔵する書誌のメタデータの収集
     他機関が提供しているメタデータの収集
システムの概要(組織化機能)
                                                                     PC・携帯

 SRW
                                                   検索系Webアプリ          SRU
          横断検索                                      (Enjuベース)
 HTTP                                                                 Open
                                                                     Search




                                                                DB
                                                  Solr
                                           Solr

                                                     検索・提供機能
                                                     (Ruby/Rails)


OAI-PMH
                                           Solr
          メタデータ
                  XML変換                   インデック
            収集
                                           ス生成
 FTP




                  書誌同定/
                  グループ                    差分抽出             DB更新
                    化

                            組織化機能
          収集機能            (Hadoop/HDFS)
システムの概要(組織化機能)
   XML変換
     収集したメタデータを統一的なXMLに変換
     以降の処理では必要に応じてXMLからデータを抜き出して利
      用


   書誌同定/グループ化
       書誌同定
           複数の図書館から集めたメタデータには同じ書誌に関するデータ
            が存在している。このデータを1つのデータに集約する
       グループ化
           同一書誌ではないが、関連のある書誌(例:ドラえもん1巻と2巻な
            ど)をグルーピングする
システムの概要(組織化機能)
   差分抽出
       変更のあったデータ(追加/更新/削除)を抽出


   Solrインデックス作成
     Solrのインデックスを作成
     SOLR-1301に機能追加したモジュールを利用



   DB更新
       差分抽出で出力された追加/更新/削除のデータをDBに反映
システムの概要(検索・提供機能)
                                                                     PC・携帯

 SRW
                                                   検索系Webアプリ          SRU
          横断検索                                      (Enjuベース)
 HTTP                                                                 Open
                                                                     Search




                                                                DB
                                                  Solr
                                           Solr

                                                     検索・提供機能
                                                     (Ruby/Rails)


OAI-PMH
                                           Solr
          メタデータ
                  XML変換                   インデック
            収集
                                           ス生成
 FTP




                  書誌同定
                  グループ                    差分抽出             DB更新
                    化

                            組織化機能
          収集機能            (Hadoop/HDFS)
システムの概要(検索・提供機能)
   検索系Webアプリ(Enjuベース)
       多種多様な提供プロトコルを採用
           OAI-PMH、SRU/SRW、RSS、OpenSearchなど


       Solr+DBによる書誌検索の提供
       翻訳機能の提供(日中韓英)
       外部サイト連携(カーリル、ブクログなど)
       スマートフォン、携帯への対応
       利用者登録機能
       連想キーワード機能(GETAssoc連携)
ENJUの改良点
   データの持ち方の変更
       1テーブルにXMLをそのまま登録
        Enjuでは著者の管理なども行っているため正規化された
        テーブル構成になっている。


   Sunspotの廃止(rsolrの利用)
       インデックス登録は全てHadoopで行う
        シームレスにSolrに登録できるSunspotの利点が生きない。

       様々なSolrの機能を利用。様々なパラメータをハンドリング
        する必要あり
国会図書館サーチでのSOLRの利用機能
   分散検索(Distributed Search)
       ドキュメント数が多いため
   グループ化表示(Field Collapsing)
       グループ化されたデータの表示
   クラスタリング
       Carrot2によるクラスタリング
   ファセット
       絞り込み候補の提供
   SOLR+Hadoop(SOLR-1301)
       Hadoop上でのインデックス作成
   マルチコア
       インデックスの切り替え
SOLR-1301の概要
   Hadoop上でインデックス作成
     入力データはHDFS上に配置
     Map/Reduce、HDFSの仕組みを利用
     Solrの設定にてスキーマを定義可能


   入力がCSV形式のサンプルプログラムが付属

   URL
    https://issues.apache.org/jira/browse/SOLR-1301
SOLR-1301の概要
   SOLR-1301の流れ

                                    1, Writable
      HDFS       1,aaa,bbb…
                                    2, Writable
                                                           HDFS
                 2,ddd,bbb…
                              Map                 Reduce
        CSV
                 3,aaa,bbb…
    1,aaa,bbb…                      3, Writable
                 4,aaa,bbb…
    2,ddd,bbb…                      4, Writable
    3,aaa,bbb…
    4,aaa,bbb…
                              Map
    5,ccc,yyy…   5,ccc,yyy…

                                    5, Writable   Reduce
                              Map



        Mapフェーズでドキュメントを抽出
           入力:CSVの1行
           出力:ID、MapWritable(Solrフィールド名、値)に変換(1ドキュメン
            ト=1オブジェクト)
SOLR-1301の概要
   SOLR-1301の流れ

                           1, Writable
     HDFS                  2, Writable
                                                  HDFS
                           3, Writable
                     Map                 Reduce


                     Map

                           4, Writable
                                         Reduce
                     Map   5, Writable




       Reduceフェーズでローカルディスクにインデックス作成
         MapWritableをSolrInputDocumentに変換
         EmbeddedSolrServerを利用し、インデックス作成
SOLR-1301の概要
   SOLR-1301の流れ

     HDFS                         HDFS
                   Map   Reduce


                   Map

                         Reduce
                   Map




       最後にHDFS上にインデックスをコピー
SOLR-1301の改修内容
 入力はXML
 XPathにてSolrインデックス対象フィールドのデータを
  抽出

   Senの利用
       SenをHadoopの各ノードにインストールせずに利用出来る形
        に修正


   FieldCollapsing対応
       CollapseのキーをReduceするときのキーに利用し、同一の
        Collapseキーをもつドキュメントは同一Shardに登録される

More Related Content

PDF
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
PDF
Introducing Spider 20101206(DTT#7)
PDF
GMO プライベート DMP で ビッグデータ解析をするために アプリクラウドで Apache Spark の検証をしてみた
PDF
メタデータスキーマレジストリ MetaBridge
PDF
HBaseを用いたグラフDB「Hornet」の設計と運用
PPTX
OData - Commerble
PDF
HBase at Ameba
PDF
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
Introducing Spider 20101206(DTT#7)
GMO プライベート DMP で ビッグデータ解析をするために アプリクラウドで Apache Spark の検証をしてみた
メタデータスキーマレジストリ MetaBridge
HBaseを用いたグラフDB「Hornet」の設計と運用
OData - Commerble
HBase at Ameba
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群

Viewers also liked (20)

PDF
AngularJSを通してDockerと触れ合った
PDF
AngularとWeb Audio APIはじめてみました
PPTX
Protractor로 web ui test 자동화 하기
PDF
開発ライフサイクルから見たAngularJS
PDF
Linux Namespaces
PDF
サーバーサイドDartを試してみる
PDF
Angular+Dart=より快適なSPA開発
PDF
Windows Server 2016でコンテナを動かしてみた
PDF
【dots. IT勉強会】開発環境のDocker化
PDF
Docker로 서버 개발 편하게 하기
PDF
Docker 활용법: dumpdocker
PDF
RedmineとGitとスクラム
PDF
Enterprise Docker
PDF
Docker (Compose) 활용 - 개발 환경 구성하기
PDF
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
PDF
インフラエンジニアのためのRancherを使ったDocker運用入門
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
PDF
Angular 4がやってくる!? 新機能ダイジェスト
PDF
Docker Swarm入門
PDF
DockerでWordPressサイトを開発してみよう
AngularJSを通してDockerと触れ合った
AngularとWeb Audio APIはじめてみました
Protractor로 web ui test 자동화 하기
開発ライフサイクルから見たAngularJS
Linux Namespaces
サーバーサイドDartを試してみる
Angular+Dart=より快適なSPA開発
Windows Server 2016でコンテナを動かしてみた
【dots. IT勉強会】開発環境のDocker化
Docker로 서버 개발 편하게 하기
Docker 활용법: dumpdocker
RedmineとGitとスクラム
Enterprise Docker
Docker (Compose) 활용 - 개발 환경 구성하기
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
インフラエンジニアのためのRancherを使ったDocker運用入門
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Angular 4がやってくる!? 新機能ダイジェスト
Docker Swarm入門
DockerでWordPressサイトを開発してみよう
Ad

Similar to 国会図書館サーチの概要 (17)

PPTX
Apache Solr 入門
PDF
Solrベースの全文検索サーバ Fess
PPT
リンクトオープンデータ(LOD)の紹介と、その先にある参画・協働・復興促進
ODP
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
PPTX
RESTful Web API Design
PDF
図書館でAPIをスルメのように 味わうには
PDF
セマンテックウェブとRDFDB
PDF
全文検索入門
PDF
SPARQLアプリケーション開発
PDF
BEAR.Sunday.meetup #0
PDF
Spark MLlib code reading ~optimization~
PDF
Rails初心者レッスン lesson1 3rd edition
PPT
RubyとPost Gis
PDF
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
PPT
Erlang Web
ODP
Next-L Enju 開発ワークショップ #8
Apache Solr 入門
Solrベースの全文検索サーバ Fess
リンクトオープンデータ(LOD)の紹介と、その先にある参画・協働・復興促進
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
RESTful Web API Design
図書館でAPIをスルメのように 味わうには
セマンテックウェブとRDFDB
全文検索入門
SPARQLアプリケーション開発
BEAR.Sunday.meetup #0
Spark MLlib code reading ~optimization~
Rails初心者レッスン lesson1 3rd edition
RubyとPost Gis
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
Erlang Web
Next-L Enju 開発ワークショップ #8
Ad

More from Kosuke Tanabe (20)

PPTX
Next-L Enju ワークショップ #91
PPTX
Next-L Enju ワークショップ #90
PPTX
Next-L Enju ワークショップ #89
PPTX
Next-L Enju ワークショップ #88
PPTX
Next-L Enju ワークショップ #86
PPTX
Next-L Enju ワークショップ #78
PPTX
オープンソースの図書館システムNext-L Enjuのいまとこれから
PPTX
Next-L Enju ワークショップ #75
PPTX
Next-L Enju ワークショップ #76
PPTX
Next-L Enju ワークショップ #74
PPTX
nextlenju73
PPTX
Next-L Enjuのご紹介(2018年版)
PPTX
Next-L Enju ワークショップ #65
PPTX
enju_ws_65
PPTX
Next-L Enju ワークショップ #64
PPTX
Next-L Enju ワークショップ #62
PPTX
Next-L Enju ワークショップ #62
PDF
Next-L Enju LRM
PPTX
Enju ws 60
PPTX
Next-L Enju 開発ワークショップ #59
Next-L Enju ワークショップ #91
Next-L Enju ワークショップ #90
Next-L Enju ワークショップ #89
Next-L Enju ワークショップ #88
Next-L Enju ワークショップ #86
Next-L Enju ワークショップ #78
オープンソースの図書館システムNext-L Enjuのいまとこれから
Next-L Enju ワークショップ #75
Next-L Enju ワークショップ #76
Next-L Enju ワークショップ #74
nextlenju73
Next-L Enjuのご紹介(2018年版)
Next-L Enju ワークショップ #65
enju_ws_65
Next-L Enju ワークショップ #64
Next-L Enju ワークショップ #62
Next-L Enju ワークショップ #62
Next-L Enju LRM
Enju ws 60
Next-L Enju 開発ワークショップ #59

国会図書館サーチの概要

  • 2. サービス概要  国立国会図書館の新しい検索サービス  国立国会図書館が所蔵する図書の全てを探すことが可能  都道府県立図書館、政令指定都市の市立図書館の蔵書、 国立国会図書館デジタルアーカイブポータル(PORTA)が 収録している各種のデジタル情報も探すことが可能  本格サービス開始は平成24年1月を予定。現在はプロトタ イプ版  対象データは約3000万(収集データは約5800万件) ※「国立国会図書館サーチ」についてより抜粋
  • 3. システムの概要 PC・携帯 SRW 検索系Webアプリ SRU 横断検索 (Enjuベース) HTTP Open Search DB Solr Solr 検索・提供機能 (Ruby/Rails) OAI-PMH Solr メタデータ XML変換 インデック 収集 ス生成 FTP 書誌同定 グループ 差分抽出 DB更新 化 組織化機能 収集機能 (Hadoop/HDFS)
  • 4. システムの概要(収集機能) PC・携帯 SRW 検索系Webアプリ SRU 横断検索 (Enjuベース) HTTP Open Search DB Solr Solr 検索・提供機能 (Ruby/Rails) OAI-PMH Solr メタデータ XML変換 インデック 収集 ス生成 FTP 書誌同定 グループ 差分抽出 DB更新 化 組織化機能 収集機能 (Hadoop/HDFS)
  • 5. システムの概要(収集機能)  横断検索  リアルタイムに他のサービスへの検索を行う  Enjuとの連携にはSRUを利用  メタデータ収集機能  国会図書館の所蔵する書誌のメタデータの収集  他機関が提供しているメタデータの収集
  • 6. システムの概要(組織化機能) PC・携帯 SRW 検索系Webアプリ SRU 横断検索 (Enjuベース) HTTP Open Search DB Solr Solr 検索・提供機能 (Ruby/Rails) OAI-PMH Solr メタデータ XML変換 インデック 収集 ス生成 FTP 書誌同定/ グループ 差分抽出 DB更新 化 組織化機能 収集機能 (Hadoop/HDFS)
  • 7. システムの概要(組織化機能)  XML変換  収集したメタデータを統一的なXMLに変換  以降の処理では必要に応じてXMLからデータを抜き出して利 用  書誌同定/グループ化  書誌同定  複数の図書館から集めたメタデータには同じ書誌に関するデータ が存在している。このデータを1つのデータに集約する  グループ化  同一書誌ではないが、関連のある書誌(例:ドラえもん1巻と2巻な ど)をグルーピングする
  • 8. システムの概要(組織化機能)  差分抽出  変更のあったデータ(追加/更新/削除)を抽出  Solrインデックス作成  Solrのインデックスを作成  SOLR-1301に機能追加したモジュールを利用  DB更新  差分抽出で出力された追加/更新/削除のデータをDBに反映
  • 9. システムの概要(検索・提供機能) PC・携帯 SRW 検索系Webアプリ SRU 横断検索 (Enjuベース) HTTP Open Search DB Solr Solr 検索・提供機能 (Ruby/Rails) OAI-PMH Solr メタデータ XML変換 インデック 収集 ス生成 FTP 書誌同定 グループ 差分抽出 DB更新 化 組織化機能 収集機能 (Hadoop/HDFS)
  • 10. システムの概要(検索・提供機能)  検索系Webアプリ(Enjuベース)  多種多様な提供プロトコルを採用  OAI-PMH、SRU/SRW、RSS、OpenSearchなど  Solr+DBによる書誌検索の提供  翻訳機能の提供(日中韓英)  外部サイト連携(カーリル、ブクログなど)  スマートフォン、携帯への対応  利用者登録機能  連想キーワード機能(GETAssoc連携)
  • 11. ENJUの改良点  データの持ち方の変更  1テーブルにXMLをそのまま登録 Enjuでは著者の管理なども行っているため正規化された テーブル構成になっている。  Sunspotの廃止(rsolrの利用)  インデックス登録は全てHadoopで行う シームレスにSolrに登録できるSunspotの利点が生きない。  様々なSolrの機能を利用。様々なパラメータをハンドリング する必要あり
  • 12. 国会図書館サーチでのSOLRの利用機能  分散検索(Distributed Search)  ドキュメント数が多いため  グループ化表示(Field Collapsing)  グループ化されたデータの表示  クラスタリング  Carrot2によるクラスタリング  ファセット  絞り込み候補の提供  SOLR+Hadoop(SOLR-1301)  Hadoop上でのインデックス作成  マルチコア  インデックスの切り替え
  • 13. SOLR-1301の概要  Hadoop上でインデックス作成  入力データはHDFS上に配置  Map/Reduce、HDFSの仕組みを利用  Solrの設定にてスキーマを定義可能  入力がCSV形式のサンプルプログラムが付属  URL https://issues.apache.org/jira/browse/SOLR-1301
  • 14. SOLR-1301の概要  SOLR-1301の流れ 1, Writable HDFS 1,aaa,bbb… 2, Writable HDFS 2,ddd,bbb… Map Reduce CSV 3,aaa,bbb… 1,aaa,bbb… 3, Writable 4,aaa,bbb… 2,ddd,bbb… 4, Writable 3,aaa,bbb… 4,aaa,bbb… Map 5,ccc,yyy… 5,ccc,yyy… 5, Writable Reduce Map  Mapフェーズでドキュメントを抽出  入力:CSVの1行  出力:ID、MapWritable(Solrフィールド名、値)に変換(1ドキュメン ト=1オブジェクト)
  • 15. SOLR-1301の概要  SOLR-1301の流れ 1, Writable HDFS 2, Writable HDFS 3, Writable Map Reduce Map 4, Writable Reduce Map 5, Writable  Reduceフェーズでローカルディスクにインデックス作成  MapWritableをSolrInputDocumentに変換  EmbeddedSolrServerを利用し、インデックス作成
  • 16. SOLR-1301の概要  SOLR-1301の流れ HDFS HDFS Map Reduce Map Reduce Map  最後にHDFS上にインデックスをコピー
  • 17. SOLR-1301の改修内容  入力はXML  XPathにてSolrインデックス対象フィールドのデータを 抽出  Senの利用  SenをHadoopの各ノードにインストールせずに利用出来る形 に修正  FieldCollapsing対応  CollapseのキーをReduceするときのキーに利用し、同一の Collapseキーをもつドキュメントは同一Shardに登録される