Slide 1

Slide 1 text

@kotaroooo0 2025/02/26 Elasticsearch Community in Tokyo 2025 σʔλ઱౓Λམͱͣ͞ʹ҆શʹ Reindex͍ͨ͠ 1

Slide 2

Slide 2 text

ࣗݾ঺հ 2 ҆ୡޫଠ࿠ @kotaroooo0 גࣜձࣾ10X ωοτεʔύʔͷݕࡧਪનͷ ։ൃӡ༻Λ୲౰͍ͯ͠·͢

Slide 3

Slide 3 text

ΞδΣϯμ 3 1. Reindexʹ͍ͭͯ 2. 10XͰͷ͜Ε·ͰͷReindexํ๏ͱ໰୊఺ 3. 10XͰͷ৽͍͠Reindexํ๏ 4. ·ͱΊ

Slide 4

Slide 4 text

Reindexʹ͍ͭͯ • ΠϯσοΫεΛ࠶ߏங͢Δ࡞ۀ • ͳͥඞཁͳͷ͔ʁ • ܗଶૉղੳͷࣙॻߋ৽ͷͨΊ • طଘϑΟʔϧυͷมߋɾ࡟আͳͲͷͨΊ • Ͳ͏΍ͬͯ΍Δ͔ʁ • ୯७ʹߟ͑ΔͱɺReindex API → ΤΠϦΞεΛ੾Γସ͑ • ͔͠͠ɺΠϯσοΫεΛࠩ෼ߋ৽͢Δ৔߹ɺ͜ͷ΍ΓํͰ͸σʔλߋ৽࿙ Ε͕ൃੜͯ͠͠·͏… 4 →

Slide 5

Slide 5 text

10XͰͷ͜Ε·ͰͷReindexํ๏ લఏ • ϝΠϯͷΠϯσοΫε͸ωοτεʔύʔͷ঎඼Λݕࡧ͢ΔͨΊͷΠϯσοΫε • σʔλͷ෺ཧ࡟আͳ͠ • ͓٬͞·͔ΒͷϦΫΤετʹΑΔࢀর͕େྔʹ͋Δ • ߋ৽͕ৗʹ͋Δ • 3shards, 2replicaͰ1shard 12GB͘Β͍ 5 10XͷΠϯσΩγϯάΞʔΩςΫνϟ

Slide 6

Slide 6 text

10XͰͷ͜Ε·ͰͷReindexํ๏ 6 1. Reindex APIΛୟ͘(໿70෼) 2. ΤΠϦΞεΛ੾Γସ͑Δ 3. ߋ৽࿙ΕͷσʔλΛdb͔Β औಘ͠࠶౓publish(໿10෼)

Slide 7

Slide 7 text

10XͰͷ͜Ε·ͰͷReindexํ๏ ໰୊఺ • σʔλ઱౓͕མͪΔ͕࣌ؒ௕͍ • Reindex͕1࣌ؒҎ্͔͔Γͦͷؒʹߋ৽͞Εͨσʔλ͕ଟ͍ • ΤΠϦΞε੾Γସ͑ޙʹσʔλ઱౓ճ෮͢Δͷʹ͕͔͔࣌ؒΔ • σʔλ઱౓ճ෮ͷͨΊͷॲཧ͕ɺdb, queue, workerʹ΋ґଘ͠Τϥʔ͕ൃੜ ͠΍͍͢ 7

Slide 8

Slide 8 text

10XͰͷ৽͍͠Reindexํ๏ 8 https://tech.legalforce.co.jp/entry/2021/12/21/190129

Slide 9

Slide 9 text

10XͰͷ৽͍͠Reindexํ๏ • Reindex APIͰqueryΛॻ͚Δ͜ͱΛ஌ͬͨ • updatedAt౳ͰߜΓࠐΊ͹ɺࠩ෼͚ͩReindexͰ͖Δ • Կճ͔Reindex APIΛୟ͚͹ɺঃʑʹॴཁ͕࣌ؒ୹͘ͳΓσʔλ઱౓͕΄΅མͪ ͳ͘ͳΔͷͰ͸…? • ·ͨElasticsearch୯ମͰReindexΛ׬݁Ͱ͖γϯϓϧʹͳΓ଱ো֐ੑ͕޲্͢Δ 9 → →

Slide 10

Slide 10 text

10XͰͷ৽͍͠Reindexํ๏ 10

Slide 11

Slide 11 text

10XͰͷ৽͍͠Reindexํ๏ ΍ͬͯΈͨ݁Ռ • 3ճReindexΛ܁Γฦͯ͠Έͨ • ຊ൪؀ڥ • 1ճ໨ͷReindex 4368ඵ • 2ճ໨ͷReindex 261ඵ • 3ճ໨ͷReindex 331ඵ • ΤΠϦΞε੾Γସ͑ޙͷReindex 1ඵ • σʔλ઱౓͕མͪΔ͕࣌ؒ΄ͱΜͲͳ͍ʂ • ReindexͷλΠϛϯάʹΑΓॴཁ࣌ؒ͸લޙͦ͠͏ 11 ࢀߟ: ։ൃ؀ڥ • 1ճ໨ͷReindex 5743ඵ • 2ճ໨ͷReindex 1028ඵ • 3ճ໨ͷReindex 577ඵ • ΤΠϦΞε੾Γସ͑ޙͷReindex 603ඵ

Slide 12

Slide 12 text

10XͰͷ৽͍͠Reindexํ๏ ΋͠෺ཧ࡟আ͕͋ͬͨΒ…? • ͜ͷํ๏Ͱ͸ෆे෼ • Reindex API͚ͩͰ͸ʮ࡟আ͞Εͨσʔλʯ͸௥͑ͳ͍ • Ͳ͏ରԠ͢Δ͔ • ํ๏1: ࿦ཧ࡟আʹํࣜΛม͑Δ • ํ๏2: ࡟আϩάΛه࿥͓͖ͯ͠࠷ޙʹ࡟আ͢Δ • ํ๏3: ΤΠϦΞε੾Γସ͑ޙʹdbͱElasticsearchΛൺֱ͠ෆཁͳυΩϡϝϯτΛ࡟ আ͢Δ 12

Slide 13

Slide 13 text

·ͱΊ Reindex APIΛෳ਺ճୟ͘ํ๏ʹΑΓ • σʔλ઱౓͕མͪΔ͕࣌ؒେ෯ʹ୹ॖͨ͠ • ElasitcsearchͷΈͰReindexΛ׬ྃͰ͖ɺγϯϓϧʹͳΓ଱ো֐ੑ͕޲্ͨ͠ 13 → →