はじめての検索エンジン&Solr 第13回Solr勉強会2. 自己紹介
氏名:鈴木 教嗣(スズキ ノリツグ)
所属:株式会社NTTデータCCS
著書:改訂新版 Apache Solr入門(技術評論社)
[著]大谷 純, 阿部 慎一朗, 大須賀 稔, 北野 太郎, 平賀 一昭, 鈴木 教嗣
[監修] 株式会社リクルートテクノロジーズ, 株式会社ロンウイット
好評発売中!!
今回はデジタル版あり!!
13. Apache Solrとは
Solr = ソーラーと読む
全文検索エンジンサーバアプリケーション
JettyやTomcatなどで動作
2007.1 Apache projectのトップレベルプロジェクトに
現在はApache Lucene(ルシーン)のサブプロジェクト
Lucene=検索エンジンライブラリ
(Solrのコアライブラリであり、elasticsearchも使用)
Solr(Lucene)のコミュニティ
コミュニティが活発であり、不具合への対応も早い
新機能への取り組みも盛ん
Chapter-1
14. Solrの特徴
Full Javaで書かれているオープンソース
無償で利用可能であり、ソースも公開されている
容易に検索サーバが構築可能
数コマンドで検索サーバを利用できる
小規模から大規模まで対応
更に複数のスケールする機能・手法が利用できる
豊富な検索機能のサポート
高速化を可能にするキャッシュ機構
日本語にも対応したトークナイザやフィルタ
Chapter-1
16. Solrの機能紹介
検索
検索クエリ
スコアによるソート
スコアリングについて
多言語に対応した柔軟な検索
ファセット検索(Facet)/ 緯度経度検索(Spatial)
ハイライト機能 / グルーピング機能
スケールアウト
インデックスの複製:replication
分散横断検索:distributed
分散検索:Solr Cloud
Chapter-4,7,8
17. Solrの検索クエリ
Solrの検索方法
Solr用の検索式(クエリ)を使用します。
検索条件を フィールド名
q=
sort=
rows=
ソート条件
:
検索ワード
フィールド名
(スペース)
の形式で指定
asc / desc
1ページに表示させる件数を整数で指定
例えば…賃貸物件を探す。
説明文(note)に「築浅」を含み、かつ、家賃(price)が8万以下の
物件を延べ床面積(space)が広い順に20件表示
q=note:築浅 AND price:[*TO 80000]
&sort=space desc
&rows=20
Chapter-4
18. Solrの機能紹介(スコア)
スコアによるソート
スコア=検索条件の一致度の指数
検索条件によりマッチしたドキュメントが高スコア
Solrのスコアを算出する計算式
デフォルトではLuceneのスコア計算式
tf-idf のベクトルモデル
scoreq,d coord q,d queryNormq tf t in d idf t t.getBoost Normt,d
2
t in q
単語ヒット数
出現数
希少度
25. トークナイザとフィルタ
トークナイザ
日本語用:JapaneseTokenizerFactory
ホワイトスペース用:WhitespaceTokenizerFactory
N-Gram:NGramTokenizerFactory
フィルタ
文字フィルタ:MappingCharFilterFactory
品詞フィルタ:JapanesePartOfSpeechStopFilterFactory
禁止ワード:StopFilterFactory
大文字小文字:LowerCaseFilterFactory
Chapter-2
31. 検索性能低下の対策
クエリ改善
クエリチューニングが可能か調査する
スケールアップ
単純にSolrサーバを高性能化
CPUパワーアップ、メモリ増設、HDD高速化など
アプリの改修を行うことなく性能向上
スケールアウト
Solrはスケールアウトするための複数の機能を持つ
replication:インデックスの複製機能
distributed/Solr Cloud:分散検索機能
Chapter-8,9
38. Solrの活用
新たなサービスへの利用
現行のサイトにフリーワードの検索機能が無い
検索機能を付与してみる。
顧客満足度が向上
現行システムの検索を強化する
DBを使った社内システムだが、キーワードにマッチせず、検索
結果がゼロ件になることが多々あった。
検索エンジンの導入により、柔軟なフリーワードを実現
電話対応用のシステムだが、過去事例の検索に10秒くらい時間
がかかっていた。
検索エンジン導入により、レスポンスが1秒以下に!
業務効率の向上&顧客満足度も向上
40. ひとこと
Apache Project なのでOSSの中でも信頼性が高く、国
内外で実績も多くあります。
顧客がOSSを心配することもあるかもしれませんが…
コミュニティが活発なのは強み!
Solrは検索エンジンが初めての人でも導入しやすい
改訂新版 Apache Solr入門 もあります!
身近にサポートしてくれる人も??(勉強会も開催)
これを機に、またSolrを盛り上げましょう!!