$30 off During Our Annual Pro Sale. View Details »

カウルにおけるElasiticsearchの導入と実例

Hiroki Matsue
November 25, 2016

 カウルにおけるElasiticsearchの導入と実例

「不動産テック勉強会#4」での発表資料です。
https://itandi.connpass.com/event/43680/

Hiroki Matsue

November 25, 2016
Tweet

More Decks by Hiroki Matsue

Other Decks in Technology

Transcript

  1. Χ΢ϧʹ͓͚Δ
    Elasiticsearchͷಋೖͱ࣮ྫ
    Hiroki Matsue
    גࣜձࣾ Housmart CIO
    Nov 25, 2016
    ෆಈ࢈ςοΫษڧձ#4

    View Slide

  2. • @macs_6
    • Ruby / iOS / Scrum
    • ࠷ۙͷ೰Έ: KarabinerͰEmacsΩʔϚοϓͰ
    ͖ͳ͍͜ͱ

    View Slide

  3. View Slide

  4. • 97%ͷ෦԰Λ໢ཏ(౦ژ23۠ɾԣ඿ɾਆಸ઒)
    • औҾࣄྫ΍ਪఆՁ֨Ͱదਖ਼Ձ͕֨෼͔Δ
    • ஥հख਺ྉ3%͕࠷େແྉ
    தݹϚϯγϣϯചങઐ໳ͷwebෆಈ࢈

    View Slide

  5. Χ΢ϧͰಈ͘
    Elasticsearchͷ࿩

    View Slide

  6. ಋೖͷഎܠ
    • ϢʔβͷͨΊʹݕࡧΛ΋ͬͱ࢖͍΍͍ͨ͘͢͠
    • ࣅͨ෺݅ݟ͚ͭ΍͍ͨ͘͢͠
    • ϨεϙϯεΛ଎͍ͨ͘͠

    View Slide

  7. ݕࡧΫΤϦ

    View Slide

  8. ࣮ݱͨ͜͠ͱɾ͍ͨ͜͠ͱ
    • Ϛϯγϣϯݕࡧ͢ΔࡍͷΩʔϫʔυΛαδΣετ
    • ʮ൒ܘXkmҎ಺ͷϚϯγϣϯʯͷऔಘ
    • 89.8ms => 23.4ms
    • Ϛϯγϣϯݕࡧ(Ҡߦத)
    • ࣅͨϚϯγϣϯͷϨίϝϯυ(͜Ε͔Β)

    View Slide

  9. Ϛϯγϣϯ໊αδΣετͷ࿩

    View Slide

  10. ߏ੒
    CloudFront
    S3
    ELB Front
    (EC2)
    RDS
    Elasticsearch
    (EC2)
    API
    (EC2)

    View Slide

  11. Elasticsearchʹ
    ೖΕ͍ͯΔσʔλɾ༻్
    • σʔλ
    • Ϛϯγϣϯͷ౩ͷϚελσʔλ
    • ༻్
    • ݕࡧϫʔυͷαδΣετ
    • ۙྡͷϚϯγϣϯҰཡͷऔಘ

    View Slide

  12. ೉͠͞/޻෉
    • ೉͠͞
    • ೔ຊޠ
    • Ұൠࣙॻʹೖͬͯͳ͍୯ޠ(ϒϥϯυ໊etc)
    • ޻෉
    • ೔ຊޠಛ༗ͷઃఆͷ࡞ΓࠐΈ
    • ର৅σʔλΛԼॲཧ

    View Slide

  13. https://medium.com/hello-elasticsearch/elasticsearch-91c9f22c663a

    View Slide

  14. Char Filter
    normalize: {
    type: 'icu_normalizer',
    name: 'nfkc',
    mode: 'compose'
    }
    ʮ͔ʯ+ʮʃʯˠʮ͕ʯ
    ʮὦʯˠʮηϯνʯ

    View Slide

  15. Ωʔϫʔυೖྗத༻ͷFilter
    ...
    # Πϯϙʔτ࣌
    'lowercase',
    'trim',
    'engram'
    ...
    # ೖྗ࣌
    'lowercase',
    'trim'
    ...

    View Slide

  16. Ωʔϫʔυ֬ఆ༻ͷFilter
    ...
    # Πϯϙʔτ࣌
    'lowercase',
    'trim',
    'readingform_neologd_romaji',
    'asciifolding',
    ‘engram'
    ...
    # ೖྗ࣌
    'lowercase',
    ‘trim’,
    'readingform_neologd_romaji',
    'asciifolding'
    ...

    View Slide

  17. େ·͔ͳྲྀΕ
    • খจࣈԽ
    • ݴ༿લޙͷۭനจࣈΛ࡟আ
    • ௕͍จࣈ਺ͷ୯ޠΛআ֎
    • ׽ࣈΛϩʔϚࣈʹม׵
    • ΞϧϑΝϕοτม׵ʢhokkaidō → hokkaidoʣ
    ࢀߟ: https://medium.com/hello-elasticsearch/elasticsearch-ΩʔϫʔυαδΣετ೔ຊޠͷͨΊͷઃܭ-352a230030dd

    View Slide

  18. ΠϯσοΫεͷલॲཧ
    ྫ͑͹ʰ࿡ຊ໦ώϧζϨδσϯεʱΛ…
    • ʮ࿡ຊ໦ώϧζϨδσϯεʯ
    • ʮ࿡ຊ໦ʯʮώϧζʯʮϨδσϯεʯ
    • ʮ࿡ຊ໦ʯ
    • ʮώϧζʯ
    • ʮϨδσϯεʯ
    • ʮ࿡ຊ໦ʯʮώϧζʯ
    • ʮώϧζʯʮϨδσϯεʯ
    ҙຯͷ͋Δසग़ޠ͕
    αδΣετ͞ΕΔ
    • ஍໊ɾӺ໊
    • ϒϥϯυ໊

    View Slide

  19. ࠓޙ΍Γ͍ͨ͜ͱ
    • طଘݕࡧͷஔ͖׵͑(ΫΤϦվमɾࣙॻ֦ॆ)
    • Ϩίϝϯυػೳͷఏڙ
    • PercolatorʹΑΔ৽ண௨஌
    • ӡ༻ڧԽ(HAߏ੒ɾΠϯϙʔτपΓͷઃܭ)
    • etc..

    View Slide

  20. ٕज़౤ࢿͷ࣌ؒͮ͘Γ
    http://techblog.housmart.co.jp/2016/03/14/dev_cycle/
    ͍͍͢͢ਫ༵೔

    View Slide

  21. We are hiring!
    ϋ΢εϚʔτ@wantedly

    View Slide