オープンソースソフトウェア検索サーバ solr入門

22
株式会社シーマーク 大谷

Upload: jun-ohtani

Post on 19-Jun-2015

3.627 views

Category:

Technology


5 download

DESCRIPTION

OSSAJミニセミナー発表資料

TRANSCRIPT

Page 1: オープンソースソフトウェア検索サーバ Solr入門

株式会社シーマーク 大谷 純

Page 2: オープンソースソフトウェア検索サーバ Solr入門

u 所属:㈱シーマーク u 氏名:大谷 純 u  twitter:@johtani u ブログ:

http://johtani.jugem.jp

u  「Apache Solr入門」  の著者の一人

u  lucene-gosenのcommitter

Page 3: オープンソースソフトウェア検索サーバ Solr入門

u 全文検索とは

u  Solrの各種機能

u  Luceneにまつわるエコシステム

Page 4: オープンソースソフトウェア検索サーバ Solr入門

u 全文検索とは

u  Solrの各種機能

u  Luceneにまつわるエコシステム

Page 5: オープンソースソフトウェア検索サーバ Solr入門

全文検索(ぜんぶんけんさく、Full text search)とは、コンピュータにおいて、複数の文書(ファイル)から特定の文字列を検索すること。「ファイル名検索」や「単一ファイル内の文字列検索」と異なり、「複数文書にまたがって、文書に含まれる全文を対象とした検索」という意味で使用される。

(Wikipediaより)

Page 6: オープンソースソフトウェア検索サーバ Solr入門

検索エンジン

インデックス

検索クエリ

検索結果

Page 7: オープンソースソフトウェア検索サーバ Solr入門

u  Solr:Lucene(全文検索ライブラリ)を活用した検索エンジンサーバ

u  ApacheプロジェクトのOSS

u  Javaで実装

u 検索補助のための機能がいっぱい

u 転置インデックス方式による全文検索

Page 8: オープンソースソフトウェア検索サーバ Solr入門

Solr

インデックス

検索クエリ(HTTPリクエスト)

検索結果(HTTPレスポンス)

Page 9: オープンソースソフトウェア検索サーバ Solr入門

カツオはサザエの弟

サザエはワカメの姉

1

2

文章を単語に分割し、 単語:ドキュメントIDと整理

対象とする文章(ドキュメント)に IDを付与

単語をキー、ドキュメントIDの 配列を値とする表を作成   = 転置インデックス

カツオ 1 は 1 サザエ 1 の 1 弟 1

サザエ 2 は 2 ワカメ 2 の 2 姉 2

カツオ 1

1

の 1

弟 1

サザエ 2

ワカメ 2 2

姉 2

1 2

Page 10: オープンソースソフトウェア検索サーバ Solr入門

転置インデックス

検索クエリ

カツオ 1

1

の 1

弟 1

サザエ 2

ワカメ 2

2

姉 2

1 2 カツオ

サザエ

AND

検索結果

1

Page 11: オープンソースソフトウェア検索サーバ Solr入門

u フィールド:1転置インデックスの定義

u スキーマ:フィールドを定義する設定

Solrは大きな1つのテーブル(スキーマ)に複数のカラム(フィールド)

Page 12: オープンソースソフトウェア検索サーバ Solr入門

u 全文検索とは

u  Solrの各種機能

u  Luceneにまつわるエコシステム

Page 13: オープンソースソフトウェア検索サーバ Solr入門

u  AND、OR、NOTによる検索

u 範囲検索

u スコアによるソート

u 特定フィールドによるソート

Page 14: オープンソースソフトウェア検索サーバ Solr入門

u 検索結果の分類の表示 絞り込み検索の候補として表示

u 複数のファセットを1回の検索で 取得可能

u 項目ごとのドキュメント数も取得

Page 15: オープンソースソフトウェア検索サーバ Solr入門

u 検索キーワードがどの部分にヒットしたか

u 検索結果の要約表示

u キーワードの強調表示

Page 16: オープンソースソフトウェア検索サーバ Solr入門

u マスタ/スレーブ構成

u 検索の負荷を分散

master

slave

slave

登録・更新

レプリケート

検索

検索

Page 17: オープンソースソフトウェア検索サーバ Solr入門

u 複数のインデックスを1つのインデックスとして検索

u 大量データに対してスケールアウトで対応可能

Solr

index 検索

検索 Solr

index

Solr

Page 18: オープンソースソフトウェア検索サーバ Solr入門

u スペルチェック(SpellCheck)

u レコメンド(MoreLikeThis)

u スコアブースト(QueryElevation)

Page 19: オープンソースソフトウェア検索サーバ Solr入門

u マルチコア

u 類義語辞書(Synonym)

u 各種言語向け機能 言語判定、各言語向けのTokenizer

Page 20: オープンソースソフトウェア検索サーバ Solr入門

u 全文検索とは

u  Solrの各種機能

u  Luceneにまつわるエコシステム

Page 21: オープンソースソフトウェア検索サーバ Solr入門

u  Luceneは様々なOSSに利用されている u  Solr(検索エンジンサーバ)、Nutch(クローラ+検索エンジン)

u  Luceneを発端にHadoopが作られた u  Nutchの仕組みを大規模対応するために実装されたのがHadoop

Page 22: オープンソースソフトウェア検索サーバ Solr入門