SlideShare una empresa de Scribd logo
1 de 20
Solr 4.0 の主な機能
            2012/07/04

   shinichiro@apache.org
自己紹介
   ㈱ロンウイットの社員です。
   5月のLucene Revolutionに参加しました。
   Apache ManifoldCFのコミッタです。




            Yonik氏と弊社社員
本日のテーマ
   Solr 4.0 の主要機能の概要
   Apache ManifoldCFの状況
Solr 4.0 の主要機能
   プラガブルなシミラリティクラス
   FST対応
   Codecプラグイン
   NRT
   PivotFacet
   pseudo-join
   SolrCloud

・3.6は3.x系の最後
・4.0は年内、alphaは7/3リリース
Similarity
   いろんなランキングアルゴリズムに差し替え可能
   参考 Lucene 4.0のスコア計算
         http://www.slideshare.net/KojiSekiguchi/similarity-functions-in-lucene-
    40-12652624


       ・Okapi BM25 Model
       ・Language Models
       ・Divergence from Randomness Models
       ・Information-based Models
Finite State Automata/Transducer
・FSAおよびFSTによる実装                参考URL:
  文脈を判断する状態遷移アルゴリズム            http://blog.mikemccandless.com/20
   Lucene実装でfast、Low メモリを実現    10/12/using-finite-state-
   TokenstreamはFSAで実装          transducers-in.html

                               http://blog.mikemccandless.com/20
・実装しているところ                     12/04/lucenes-tokenstreams-are-
FuzzyQuery                     actually.html
WildcardQuery
  RegexpQuery
  DirectSolrSpellchecker

  SynonymFilter
  JapaneseTokenizer(辞書、複合語トークナイズ)

・作業中
    MappingCharFilter
Codec
   Codecが差し替え可能


・Standard: Lucene4.0 index format
・“Appending” works with append-only filesystems (such as Hadoop DFS)
・“Memory” writes the entire terms+postings as an FST read into RAM
・“Pulsing” inlines the postings for low-frequency terms into the term
 dictionary
・“SimpleText” writes all files in plain-text for easy debugging/transparency
NRT
   Near Real Time search
     ・softCommit ⇔ (hard)Commit
        softCommitは、インデックスをリフレッシュして、
                       更新ドキュメントをすぐに検索可能にします。
                       JVMクラッシュなどがある場合は、最終ハードコミッ
     ト時点に戻ります。
                       それまでの更新は失われます。
Realtime-get
   未コミットのドキュメントを取得するハンドラ
   Solr as Key Value Store
PivotFacet
   &facet.pivot=cat,inStock
Join




 製品を探して、製品詳細を絞り込む
 fq={!join from=product to=product_item}product:T-shirts

 製品詳細を探して、製品を絞り込む
 fq={!join from=product_item
 to=product}product_item:item2
SolrCloud
 ・要件
  ・インデックスを複数台で分散配置させたい。
    →従来は複数台へのインデクシングを実装する必要があった


  ・インデックスを持つSolrサーバがダウンしていた
  り接続できない場合に、自動フェイルオーバーした
  い。
    →従来はロードバランサを構成しないと分散検索は失敗した


  ・Master/Slave環境で設定を一元管理したい。
    →従来は設定ファイルの管理が煩雑だった


  ・リアルタイムインデクシングとリアルタイム検
  索。
    →従来はレプリケーションにタイムラグがあった
SolrCloud
 ・ZooKeeper Integration
  ・コンフィグの中央管理
  ・自動フェイルオーバー(リーダー選出)
  ・本番環境はZKアンサンブルを使う
SolrCloud




                                               Leader




 java -Dbootstrap_conf=true -DnumShards=2 ¥
     -DzkHost=ZKServer:port -jar start.jar

 各ノードの追加:
  java -DzkHost=ZKServer:port -jar start.jar
SolrCloud
  ・検索時、通常の検索リクエストで、各シャードにリクエストされ
  る。
    (SolrJならCloudSolrServer)

  ・インデクシング時、
   登録リクエストがReplicaに投げられたら、Leaderに投げる。
   リクエストがLeaderに投げられたら、ハッシュを計算して
   どこのシャードに渡すか決める。そのシャードのLeaderに転送す
  る。
   その後Replicaに転送。インデクシングを行う。
SolrCloud
  ・管理画面
ManifoldCFの状況
   Solrに統合できるwebクローラ・ファイルサーバク
    ローラ
   5月にincubator→TLP
   http://manifoldcf.apache.org/

   0.5.1 0.6は7月の模様
   MySQL, i18n
   Alfresco Connector, ElasticSearch Connector
   SolrPlugin forEnterprise Search
ManifoldCFのSolrPlugin
   MCF Security SearchComponent
   http://../solr/select?q=*:*&AuthenticatedUserName=u
    sername@domain
URLs

・Lucene/Solr 4.0-ALPHA
http://www.lucidimagination.com/blog/2012/07/03/4-0-
alpha-whats-in-a-name/

・Lucene Revolution
http://www.lucidimagination.com/devzone/events/confere
nces/lucene-revolution-2012

・Apache ManifoldCFの関連記事
http://www.rondhuit.com/apache-manifoldcf.html#articles
ロンウイット                           の紹介
   Solrサブスクリプション

    日本語処理プラグイン(各種CharFilterやTokenizerなど)
     javadochttp://www.rondhuit-dev.com/RCSS/api/
     検索語サジェスチョン、パーソナライズ検索、固有表現抽出、リアルタイム在庫検索


    http://www.rondhuit.com/日本語「もしかして」検索について.html
    http://www.rondhuit.com/リアルタイムクラスタリングについて.html



   Soleami Solrクエリログ解析サービス
        http://soleami.com/ja

   Solr、ManifoldCFは熱いです!技術者を募集しています!
        http://www.rondhuit.com/
        sales@rondhuit.com

Más contenido relacionado

La actualidad más candente

DBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFessDBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFessShinsuke Sugaya
 
コード読経会報告書
コード読経会報告書コード読経会報告書
コード読経会報告書Masahiko Toyoshi
 
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fessオフィスに1台!全文検索Fess
オフィスに1台!全文検索FessShinsuke Sugaya
 
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)Tetsu Yama
 
T sql の parse と generator
T sql の parse と generatorT sql の parse と generator
T sql の parse と generatorOda Shinsuke
 
Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Noriyoshi Shinoda
 
Powershell勉強会 v5 (こちらが最新です。)
Powershell勉強会 v5 (こちらが最新です。)Powershell勉強会 v5 (こちらが最新です。)
Powershell勉強会 v5 (こちらが最新です。)Tetsu Yama
 
Handlersocket etc. 20110906
Handlersocket etc. 20110906Handlersocket etc. 20110906
Handlersocket etc. 20110906akirahiguchi
 
dimSTATから見るベンチマーク
dimSTATから見るベンチマークdimSTATから見るベンチマーク
dimSTATから見るベンチマークhiroi10
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive ExtensionsShin Ise
 
Asakusa FrameworkとScalaの密かな関係
Asakusa FrameworkとScalaの密かな関係Asakusa FrameworkとScalaの密かな関係
Asakusa FrameworkとScalaの密かな関係hishidama
 
Mroongaを使ったときの MySQLの制限との戦い
Mroongaを使ったときの MySQLの制限との戦いMroongaを使ったときの MySQLの制限との戦い
Mroongaを使ったときの MySQLの制限との戦いNaoya Murakami
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1Makoto Haruyama
 
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 TokyoYoshiyuki Asaba
 
Elasticsearchの基本動作まとめ
Elasticsearchの基本動作まとめElasticsearchの基本動作まとめ
Elasticsearchの基本動作まとめ朋哉 池田
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLakirahiguchi
 
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストMongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストAkihiro Kuwano
 

La actualidad más candente (19)

DBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFessDBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFess
 
コード読経会報告書
コード読経会報告書コード読経会報告書
コード読経会報告書
 
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fessオフィスに1台!全文検索Fess
オフィスに1台!全文検索Fess
 
PowerShell 小技集
PowerShell 小技集PowerShell 小技集
PowerShell 小技集
 
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
 
T sql の parse と generator
T sql の parse と generatorT sql の parse と generator
T sql の parse と generator
 
Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1
 
Powershell勉強会 v5 (こちらが最新です。)
Powershell勉強会 v5 (こちらが最新です。)Powershell勉強会 v5 (こちらが最新です。)
Powershell勉強会 v5 (こちらが最新です。)
 
Handlersocket etc. 20110906
Handlersocket etc. 20110906Handlersocket etc. 20110906
Handlersocket etc. 20110906
 
DeclarativeSql
DeclarativeSqlDeclarativeSql
DeclarativeSql
 
dimSTATから見るベンチマーク
dimSTATから見るベンチマークdimSTATから見るベンチマーク
dimSTATから見るベンチマーク
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive Extensions
 
Asakusa FrameworkとScalaの密かな関係
Asakusa FrameworkとScalaの密かな関係Asakusa FrameworkとScalaの密かな関係
Asakusa FrameworkとScalaの密かな関係
 
Mroongaを使ったときの MySQLの制限との戦い
Mroongaを使ったときの MySQLの制限との戦いMroongaを使ったときの MySQLの制限との戦い
Mroongaを使ったときの MySQLの制限との戦い
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
 
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
 
Elasticsearchの基本動作まとめ
Elasticsearchの基本動作まとめElasticsearchの基本動作まとめ
Elasticsearchの基本動作まとめ
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
 
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストMongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキスト
 

Similar a Solr 4.0 の主な機能

スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介Sotaro Kimura
 
Scala Daysに行ってみて
Scala Daysに行ってみてScala Daysに行ってみて
Scala Daysに行ってみてKota Mizushima
 
Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management...
 Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management... Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management...
Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management...SolarisJP
 
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用kazuyas
 
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)tokuhy
 
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_luaRyosuke MATSUMOTO
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)inaz2
 
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説LeapMind Inc
 
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作terurou
 
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料Tetsuya Hasegawa
 
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装したt-sin
 
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-PE-BANK
 
Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料学 松崎
 
Terraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTerraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTakahisa Iwamoto
 
nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in LinuxTomofumi Hayashi
 
Node-v0.12の新機能について
Node-v0.12の新機能についてNode-v0.12の新機能について
Node-v0.12の新機能についてshigeki_ohtsu
 
Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)dynamis
 
Web講座 第9回
Web講座 第9回Web講座 第9回
Web講座 第9回nanametown
 

Similar a Solr 4.0 の主な機能 (20)

スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
 
Scala Daysに行ってみて
Scala Daysに行ってみてScala Daysに行ってみて
Scala Daysに行ってみて
 
Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management...
 Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management... Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management...
Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management...
 
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用
 
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
 
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
 
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
 
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作
 
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料
RFC5717(Partial Lock Remote Procedure Call (RPC) for NETCONF)の勉強資料
 
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した
 
AlfrescoとSolr(中編)
AlfrescoとSolr(中編)AlfrescoとSolr(中編)
AlfrescoとSolr(中編)
 
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
 
Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料
 
Terraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTerraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as Code
 
nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linux
 
Node-v0.12の新機能について
Node-v0.12の新機能についてNode-v0.12の新機能について
Node-v0.12の新機能について
 
ATN No.2 Scala事始め
ATN No.2 Scala事始めATN No.2 Scala事始め
ATN No.2 Scala事始め
 
Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)
 
Web講座 第9回
Web講座 第9回Web講座 第9回
Web講座 第9回
 

Solr 4.0 の主な機能

  • 1. Solr 4.0 の主な機能 2012/07/04 shinichiro@apache.org
  • 2. 自己紹介  ㈱ロンウイットの社員です。  5月のLucene Revolutionに参加しました。  Apache ManifoldCFのコミッタです。 Yonik氏と弊社社員
  • 3. 本日のテーマ  Solr 4.0 の主要機能の概要  Apache ManifoldCFの状況
  • 4. Solr 4.0 の主要機能  プラガブルなシミラリティクラス  FST対応  Codecプラグイン  NRT  PivotFacet  pseudo-join  SolrCloud ・3.6は3.x系の最後 ・4.0は年内、alphaは7/3リリース
  • 5. Similarity  いろんなランキングアルゴリズムに差し替え可能  参考 Lucene 4.0のスコア計算 http://www.slideshare.net/KojiSekiguchi/similarity-functions-in-lucene- 40-12652624 ・Okapi BM25 Model ・Language Models ・Divergence from Randomness Models ・Information-based Models
  • 6. Finite State Automata/Transducer ・FSAおよびFSTによる実装 参考URL: 文脈を判断する状態遷移アルゴリズム http://blog.mikemccandless.com/20 Lucene実装でfast、Low メモリを実現 10/12/using-finite-state- TokenstreamはFSAで実装 transducers-in.html http://blog.mikemccandless.com/20 ・実装しているところ 12/04/lucenes-tokenstreams-are- FuzzyQuery actually.html WildcardQuery RegexpQuery DirectSolrSpellchecker SynonymFilter JapaneseTokenizer(辞書、複合語トークナイズ) ・作業中 MappingCharFilter
  • 7. Codec  Codecが差し替え可能 ・Standard: Lucene4.0 index format ・“Appending” works with append-only filesystems (such as Hadoop DFS) ・“Memory” writes the entire terms+postings as an FST read into RAM ・“Pulsing” inlines the postings for low-frequency terms into the term dictionary ・“SimpleText” writes all files in plain-text for easy debugging/transparency
  • 8. NRT  Near Real Time search ・softCommit ⇔ (hard)Commit softCommitは、インデックスをリフレッシュして、 更新ドキュメントをすぐに検索可能にします。 JVMクラッシュなどがある場合は、最終ハードコミッ ト時点に戻ります。 それまでの更新は失われます。
  • 9. Realtime-get  未コミットのドキュメントを取得するハンドラ  Solr as Key Value Store
  • 10. PivotFacet  &facet.pivot=cat,inStock
  • 11. Join 製品を探して、製品詳細を絞り込む fq={!join from=product to=product_item}product:T-shirts 製品詳細を探して、製品を絞り込む fq={!join from=product_item to=product}product_item:item2
  • 12. SolrCloud ・要件 ・インデックスを複数台で分散配置させたい。 →従来は複数台へのインデクシングを実装する必要があった ・インデックスを持つSolrサーバがダウンしていた り接続できない場合に、自動フェイルオーバーした い。 →従来はロードバランサを構成しないと分散検索は失敗した ・Master/Slave環境で設定を一元管理したい。 →従来は設定ファイルの管理が煩雑だった ・リアルタイムインデクシングとリアルタイム検 索。 →従来はレプリケーションにタイムラグがあった
  • 13. SolrCloud ・ZooKeeper Integration ・コンフィグの中央管理 ・自動フェイルオーバー(リーダー選出) ・本番環境はZKアンサンブルを使う
  • 14. SolrCloud Leader java -Dbootstrap_conf=true -DnumShards=2 ¥ -DzkHost=ZKServer:port -jar start.jar 各ノードの追加: java -DzkHost=ZKServer:port -jar start.jar
  • 15. SolrCloud ・検索時、通常の検索リクエストで、各シャードにリクエストされ る。 (SolrJならCloudSolrServer) ・インデクシング時、 登録リクエストがReplicaに投げられたら、Leaderに投げる。 リクエストがLeaderに投げられたら、ハッシュを計算して どこのシャードに渡すか決める。そのシャードのLeaderに転送す る。 その後Replicaに転送。インデクシングを行う。
  • 17. ManifoldCFの状況  Solrに統合できるwebクローラ・ファイルサーバク ローラ  5月にincubator→TLP  http://manifoldcf.apache.org/  0.5.1 0.6は7月の模様  MySQL, i18n  Alfresco Connector, ElasticSearch Connector  SolrPlugin forEnterprise Search
  • 18. ManifoldCFのSolrPlugin  MCF Security SearchComponent  http://../solr/select?q=*:*&AuthenticatedUserName=u sername@domain
  • 20. ロンウイット の紹介  Solrサブスクリプション 日本語処理プラグイン(各種CharFilterやTokenizerなど) javadochttp://www.rondhuit-dev.com/RCSS/api/ 検索語サジェスチョン、パーソナライズ検索、固有表現抽出、リアルタイム在庫検索 http://www.rondhuit.com/日本語「もしかして」検索について.html http://www.rondhuit.com/リアルタイムクラスタリングについて.html  Soleami Solrクエリログ解析サービス http://soleami.com/ja  Solr、ManifoldCFは熱いです!技術者を募集しています! http://www.rondhuit.com/ sales@rondhuit.com