SlideShare a Scribd company logo
Suffix Array
Solr       2011/12/19




       1
•              (@nobu_k)

• Preferred Infrastructure (PFI   FI)

  •
  •
• Sedue(2 )
                      2
Suffix Array
•   Suffix Array(SA):

•   (      )                       1

    •    Sedue

•   SA

•
    •    +Sedue

•                      ”   -           ”


                               3
•
•
    •              (       )

    • n-gram(q-gram)
•
                       4
Suffix Array
•
•
• n-gram
  •
•
                5
Suffix(                )
                   0:   mississippi
                   1:   ississippi
                   2:   ssissippi
                   3:   sissippi
mississippi
                   4:   issippi
                   5:   ssippi
                   6:   sippi
                   7:   ippi
                   8:   ppi
                   9:   pi
                  10:   i
              6
Suffix Array
 0:   mississippi       10:   i
 1:   ississippi         7:   ippi
 2:   ssissippi          4:   issippi
 3:   sissippi           1:   ississippi
 4:   issippi            0:   mississippi
 5:   ssippi             9:   pi
 6:   sippi              8:   ppi
 7:   ippi               6:   sippi
 8:   ppi                3:   sissippi
 9:   pi                 5:   ssippi
10:   i                  2:   ssissippi

                    7
10:   i
 7:   ippi          •   mississippi    ’si’
 4:   issippi
 1:   ississippi    •   ’si’
 0:   mississippi
 9:   pi            •
 8:   ppi
 6:
 3:
      sippi
      sissippi
                    •
 5:   ssippi
 2:   ssissippi         •      3   6


                        8
10:   i             SA[i]:
 7:   ippi
 4:   issippi       10 7 4 1 0 9 8 6 3 5 2
 1:   ississippi     T[i]:
 0:   mississippi
 9:   pi            m i s s i s s i p p i
 8:   ppi
 6:   sippi
 3:   sissippi                   6
 5:   ssippi          T[SA[6]]
 2:   ssissippi     → T[8]
                    → “ppi”
                       9
(1/3)

T[i]:
   1    2         3   ...        n

                            SA

            SA[i]


             10
(2/3)
RedBull            !!

1. RedBull                             *2
    RedBull        SA[i]
          2.
    RedBull


     1         2        3   ...    n
                            11
(3/3)
3.
     RedBull


      1          2      3        ...          n

4.

(     1, 3), (       2, 4), (          3, 2),...,(   n, 2)

                            12
•       SA

    •                  +

    •        /n-gram

• SA
•
               13
SA
•                        (n-gram        )

    •
•               n-gram

•
    •
        •   “THIS IS IT”
    •   proximity

                                   14
SA
•
    •
    •
•
    •   HDD

    •         (        )

•
    •
                  15
•
•                                   (   )

    •   SAIS

    •
•   HDD

    •                                   (dc3, dc7)

•   Sedue      Haskell        C++

    •   @tanakh++


                         16
•                         (             )

    •
    •
        •    1       100GB/day

•   Sedue

    •   SA                n-gram

    •            n-gram

    •   SA           n-gram

    •

                                   17
HDD
•               HDD

•                     OK

    •
    •
•   SSD

    •   SSD

•   Sedue              20       (80MB)

    •   SA[i]


                           18
VS
1.   SA

     •
2.

     •    SSD+              500

3.

     •    O(N)       CPU

4.

     •
•           malloc



                           19
•   Sedue   1                  56

    •           : 40

    •             : 16          (UTF-16)

    •                           2   3

•
    •                           =

    •
        •                SSD

•

                                        20
SA
•
    •            4(+1)

        •   2-gram

    •
        •                %        OK

    •
•   ”        ”

    •
                             21
•
    •
    •
•
    •
        22
: groonga

• Sedue   groonga

  •
•
• Sedue       groonga!!


                    23
:
•

•
•              (http://jubat.us/)

    •   http://github.com/jubatus
    •   @JubatusOfficial
•                    with NTT PF

                               24
: Fluentd
•            Ruby

• Treasure Data, Inc.
  • @frsyuki, @kzk_mover
• Solr
• gem install fluentd
• Visit http://fluentd.org/doc/ now!!
                      25
•


    26

More Related Content

KEY
Coqによる証明駆動開発
KEY
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
DOCX
Todos a aprender
DOC
Proyecto sexualidad
KEY
Parallel Computing in R
PDF
Py "Baseball" Data入門〜サービス(と野球)を支えるデータ分析基盤 #monotarotech
PDF
katagaitai CTF workshop #10 AESに対する相関電力解析
PDF
次世代シーケンサのデータ解析 技術開発編
Coqによる証明駆動開発
Coq to Rubyによる証明駆動開発@名古屋ruby会議02
Todos a aprender
Proyecto sexualidad
Parallel Computing in R
Py "Baseball" Data入門〜サービス(と野球)を支えるデータ分析基盤 #monotarotech
katagaitai CTF workshop #10 AESに対する相関電力解析
次世代シーケンサのデータ解析 技術開発編

Similar to Suffix Array@Solr勉強会 (20)

PDF
メドピアでの開発の裏側
PDF
Monitoring MongoDB (MongoSV)
PDF
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
PDF
20160708 データ処理のプラットフォームとしてのpython 札幌
KEY
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
PDF
20161004 データ処理のプラットフォームとしてのpythonとpandas 東京
PDF
MongoDB - Monitoring and queueing
PDF
MongoDB - Monitoring & queueing
KEY
ひけらかし会(visualization)
PDF
Cassandra 分散データベース
PDF
三角関数の加法定理はなぜ難しいのか
PDF
Monitoring MongoDB (MongoUK)
KEY
Programming Contest Hacks
PDF
Mpa Ji Study Presentaton
PDF
[DL輪読会]Tracking Emerges by Colorizing Videos
PDF
Google Polymer in Action
PDF
DevLove k8s nobusue 20180711
PDF
バ、バカな...!ハッカソンの中で成長しているだと...!?
PDF
SendaiRubyKaigi02 LT
KEY
証明駆動開発のたのしみ@名古屋reject会議
メドピアでの開発の裏側
Monitoring MongoDB (MongoSV)
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
20160708 データ処理のプラットフォームとしてのpython 札幌
『繋がり』を見る: Cytoscapeと周辺ツールを使ったグラフデータ可視化入門
20161004 データ処理のプラットフォームとしてのpythonとpandas 東京
MongoDB - Monitoring and queueing
MongoDB - Monitoring & queueing
ひけらかし会(visualization)
Cassandra 分散データベース
三角関数の加法定理はなぜ難しいのか
Monitoring MongoDB (MongoUK)
Programming Contest Hacks
Mpa Ji Study Presentaton
[DL輪読会]Tracking Emerges by Colorizing Videos
Google Polymer in Action
DevLove k8s nobusue 20180711
バ、バカな...!ハッカソンの中で成長しているだと...!?
SendaiRubyKaigi02 LT
証明駆動開発のたのしみ@名古屋reject会議
Ad

More from nobu_k (8)

PDF
Elasticsearchと機械学習を実際に連携させる
PDF
機械学習を利用したちょっとリッチな検索
PDF
4th PFI System reading
PDF
Goraft and InfluxDB
PPT
Transactional Information Systems入門
PDF
Riak Source Code Reading #2: Erlang Client
PPTX
Paxos
KEY
第一回MongoDBソースコードリーディング
Elasticsearchと機械学習を実際に連携させる
機械学習を利用したちょっとリッチな検索
4th PFI System reading
Goraft and InfluxDB
Transactional Information Systems入門
Riak Source Code Reading #2: Erlang Client
Paxos
第一回MongoDBソースコードリーディング
Ad

Suffix Array@Solr勉強会

  • 1. Suffix Array Solr 2011/12/19 1
  • 2. (@nobu_k) • Preferred Infrastructure (PFI FI) • • • Sedue(2 ) 2
  • 3. Suffix Array • Suffix Array(SA): • ( ) 1 • Sedue • SA • • +Sedue • ” - ” 3
  • 4. • • • ( ) • n-gram(q-gram) • 4
  • 6. Suffix( ) 0: mississippi 1: ississippi 2: ssissippi 3: sissippi mississippi 4: issippi 5: ssippi 6: sippi 7: ippi 8: ppi 9: pi 10: i 6
  • 7. Suffix Array 0: mississippi 10: i 1: ississippi 7: ippi 2: ssissippi 4: issippi 3: sissippi 1: ississippi 4: issippi 0: mississippi 5: ssippi 9: pi 6: sippi 8: ppi 7: ippi 6: sippi 8: ppi 3: sissippi 9: pi 5: ssippi 10: i 2: ssissippi 7
  • 8. 10: i 7: ippi • mississippi ’si’ 4: issippi 1: ississippi • ’si’ 0: mississippi 9: pi • 8: ppi 6: 3: sippi sissippi • 5: ssippi 2: ssissippi • 3 6 8
  • 9. 10: i SA[i]: 7: ippi 4: issippi 10 7 4 1 0 9 8 6 3 5 2 1: ississippi T[i]: 0: mississippi 9: pi m i s s i s s i p p i 8: ppi 6: sippi 3: sissippi 6 5: ssippi T[SA[6]] 2: ssissippi → T[8] → “ppi” 9
  • 10. (1/3) T[i]: 1 2 3 ... n SA SA[i] 10
  • 11. (2/3) RedBull !! 1. RedBull *2 RedBull SA[i] 2. RedBull 1 2 3 ... n 11
  • 12. (3/3) 3. RedBull 1 2 3 ... n 4. ( 1, 3), ( 2, 4), ( 3, 2),...,( n, 2) 12
  • 13. SA • + • /n-gram • SA • 13
  • 14. SA • (n-gram ) • • n-gram • • • “THIS IS IT” • proximity 14
  • 15. SA • • • • • HDD • ( ) • • 15
  • 16. • • ( ) • SAIS • • HDD • (dc3, dc7) • Sedue Haskell C++ • @tanakh++ 16
  • 17. ( ) • • • 1 100GB/day • Sedue • SA n-gram • n-gram • SA n-gram • 17
  • 18. HDD • HDD • OK • • • SSD • SSD • Sedue 20 (80MB) • SA[i] 18
  • 19. VS 1. SA • 2. • SSD+ 500 3. • O(N) CPU 4. • • malloc 19
  • 20. Sedue 1 56 • : 40 • : 16 (UTF-16) • 2 3 • • = • • SSD • 20
  • 21. SA • • 4(+1) • 2-gram • • % OK • • ” ” • 21
  • 22. • • • • 22
  • 23. : groonga • Sedue groonga • • • Sedue groonga!! 23
  • 24. : • • • (http://jubat.us/) • http://github.com/jubatus • @JubatusOfficial • with NTT PF 24
  • 25. : Fluentd • Ruby • Treasure Data, Inc. • @frsyuki, @kzk_mover • Solr • gem install fluentd • Visit http://fluentd.org/doc/ now!! 25
  • 26. 26

Editor's Notes