Presentation is loading. Please wait.

Presentation is loading. Please wait.

株式会社ECナビ システム本部 ECナビラボグループ 春山 征吾

Similar presentations


Presentation on theme: "株式会社ECナビ システム本部 ECナビラボグループ 春山 征吾"— Presentation transcript:

1 株式会社ECナビ システム本部 ECナビラボグループ 春山 征吾 Seigo_Haruyama@ecnavi.co.jp
Solrスゲェ! 株式会社ECナビ システム本部 ECナビラボグループ 春山 征吾

2 ECナビ・ECナビラボ の紹介 ECナビ (http://ecnavi.jp) ECナビラボ(http://labs.ecnavi.jp/)
検索(search)と情報共有(share)をキーワードを 軸に, 次世代のソフトウェア技術, インターネット サービスについての研究開発を行なっています.

3 今回提供するAPIの紹介 Buzzurl API http://labs.ecnavi.jp/developer/buzzurl/api/
NavicSearch API

4 NavicSearch APIの特徴 ECナビで取り扱っている1500万件以上の商品の 検索ができます. 検索クエリの例: 「wii」で検索
select?q=wii 「自転車 折りたたみ」で検索 q=自転車 折りたたみ デモサイト!

5 NavicSearch API (α)の注意事項
現在開発中のECナビの商品検索機能のプレ ビュー版です. 商品データは実際のものですが, データの更新 は不定期です. プレビュー版であるためほとんどの場合,ECナ ビで検索した検索結果と異なる結果を返します. 予告してもしくは予告せずにサービスを一時停止 する可能性があります.

6 NavicSearch API のシステム構成
インターネット ゲートウェイ

7 Solrとは? 「全文検索エンジンライブラリLuceneをベース に、管理画面やキャッシュ機構を取り入れたア プリケーション」(Wikipediaより) 発音: Solarと同じ. 利用例: Diggやインターネットアーカイブ. Javaで作られています. 2008年5月にLuceneの開発者の一人の関口宏 司さんがSolrの開発者になりました. 今後日本における利用も期待されています. BuzzurlでもSolrを使い始めました!

8 全文検索システムにも Tritonn (MySQL + Senna) Ludia (PostgreSQL + Senna) Namazu
Hyper Estraier ... とありますが なぜ Solr を使うことにしたかというと

9 それはSolr がスゲェから ここからひたすらSolrをたたえます.

10 高速 特にチューニングしないSolrと特にチューニング していない Tritonn にデータをつっこんでみた (100万件). Solrが10倍以上速かっ た. 検索の速度については十分なデータは取ってい ませんが, Buzzurlの状況を見るとTritonnの同 等以上のようです.

11 スケールアウトが容易 同じインデックスを複数のマシンで持ってサービス できる(レプリケーション)
異なるデータセットを持つ(パーティショニングされ た)複数のSolrを一括検索できる 理論上いくらでもスケールアウトできます.

12 機能拡張が容易 結構きれいに設計されているので, 機能拡張が容 易です. 後で示すように, 実際に機能を追加して使っていま す.

13 アプリケーション作成も容易 HTTP (GET or POST) で検索式入力 出力フォーマットを指定可能 XML, JSON(P)
Ruby, Python, PHP なので様々な言語から簡単に扱えます. 「10分で簡単!RailsとSolrの全文検索デモ構築」 (関口さんの会社 RONDHUIT の資料)

14 ファセット(Facet)機能 ファセット(Facet)とは カテゴリやキーワード, 価格, 日付といったものを 用いた分類
Solrは簡単にファセットごとの件数を出力してくれま す. NavicSearch APIでもカテゴリごとに商品を検索 することが可能 例: 「デンドロビウム」で検索してカテゴリ名でファ セット

15 最近のSolrの動き 現在のSolrのリリースバージョンは 1.2
ECナビで利用しているSolrは1.3 nightly (1.3は7 月末リリース予定) 開発が活発でばんばん機能追加されてっていま す. Nightly版でないと日本語などを扱える CJKTokenizerが付いてません. 1.2でのNGramTokenizerはあるのでまったく日 本語が扱えないというわけではありません. Tokenizerとは, 検索のためのインデックスを作 るために文書をTokenに分割するもののことで す.

16 ECナビ独自のTokenizer (といってもパクリだけど)
SolrのCJKTokenizerは(すくなくとも6/18時点ので は) 空のトークンが末尾に入る いわゆる半角カナを無視する(これは仕様) という問題があるので, 独自に作りました. といっても, で Public Domainで公開されていたものをパクリまし た. その名も ECNaviTokenizer. 半角カナの濁点・半濁点も適当にします.

17 まとめ Solrスゲェ! みんなも使おう Solr


Download ppt "株式会社ECナビ システム本部 ECナビラボグループ 春山 征吾"

Similar presentations


Ads by Google