Elastic Searchμ ν€μλ κ²μκ³Ό RDBMSμ LIKE κ²μ λΉκ΅ λΆμ π
λͺ©μ°¨ π
- λ€μ΄κ°λ©° π
- 1. Elastic Searchμ ν€μλ κ²μ π
- 2. RDBMSμ LIKE κ²μ π
- 3. Elastic Searchμ RDBMS LIKE κ²μμ λΉκ΅ π
- λ§λ¬΄λ¦¬ π
- μ°Έκ³ μλ£ π
λ€μ΄κ°λ©° π
λ°μ΄ν°κ° νλ°μ μΌλ‘ μ¦κ°νλ νλ μ¬νμμ ν¨μ¨μ μΈ κ²μ κΈ°λ₯μ νμμ μ
λλ€. νΉν λΉμ ν λ°μ΄ν°μ ꡬ쑰νλ λ°μ΄ν°λ₯Ό λ€λ£¨λ λ°©μμ λ°λΌ κ²μ λ°©λ²λ λ€μν΄μ§λλ€. μ΄λ² κΈμμλ Elastic Searchμ ν€μλ κ²μκ³Ό RDBMSμ LIKE κ²μμ κ°λ
, νΉμ§, μ리λ₯Ό μ¬λ μκ² λΆμνκ³ , λ λ°©λ²μ λΉκ΅νμ¬ μ΄λ€ μν©μμ μ΄λ€ λ°©λ²μ΄ μ ν©νμ§ μμλ³΄κ² μ΅λλ€. π
1. Elastic Searchμ ν€μλ κ²μ π
κ°λ
π‘
Elastic Searchλ μ€ν μμ€ λΆμ°ν κ²μ λ° λΆμ μμ§μΌλ‘, λμ©λμ λΉμ ν λ°μ΄ν°λ₯Ό μ€μκ°μΌλ‘ μ²λ¦¬ν μ μμ΅λλ€. ν€μλ κ²μμ Elastic Searchμ ν΅μ¬ κΈ°λ₯μΌλ‘, μ¬μ©μκ° μ
λ ₯ν ν€μλλ₯Ό κΈ°λ°μΌλ‘ κ΄λ ¨ λ¬Έμλ₯Ό λΉ λ₯΄κ³ μ ννκ² μ°Ύμλ
λλ€. π
νΉμ§ π
- μμμΈ(Inverted Index) ꡬ쑰: λ¨μ΄λ₯Ό ν€λ‘, ν΄λΉ λ¨μ΄λ₯Ό ν¬ν¨νλ λ¬Έμ 리μ€νΈλ₯Ό κ°μΌλ‘ μ μ₯νμ¬ λΉ λ₯Έ κ²μμ΄ κ°λ₯ν©λλ€.
- ν
μ€νΈ λΆμ λ° ν ν°ν: λ¬Έμλ₯Ό μμΈν λ ννμ λΆμ, μ€ν
λ°, μλ¬Έμ λ³ν λ±μ ν΅ν΄ λ¨μ΄λ₯Ό ν ν°ννμ¬ κ²μ μ νλλ₯Ό λμ
λλ€.
- 볡μ‘ν μ§μ μ§μ: Boolean μ§μ, λ²μ μ§μ, ꡬ문 κ²μ λ± λ€μν κ²μ λ°©μμ μ 곡ν©λλ€.
- κ΄λ ¨μ± μ μ(Scoring): TF-IDFμ κ°μ μκ³ λ¦¬μ¦μ μ¬μ©νμ¬ λ¬Έμμ μ€μλλ₯Ό νκ°νκ³ μ λ ¬ν©λλ€.
- νμ₯μ± λ° λΆμ° μ²λ¦¬: λ
Έλλ₯Ό μΆκ°νμ¬ μνμ μΌλ‘ νμ₯ν μ μμΌλ©°, λΆμ° μ²λ¦¬λ‘ λμ©λ λ°μ΄ν°λ ν¨μ¨μ μΌλ‘ μ²λ¦¬ν©λλ€.
μ리 βοΈ
- μμΈ(Indexing): λ¬Έμλ₯Ό μ μ₯ν λ ν
μ€νΈλ₯Ό λΆμνκ³ ν ν°ννμ¬ μμμΈμ μμ±ν©λλ€.
- κ²μ(Querying): μ¬μ©μκ° ν€μλλ₯Ό μ
λ ₯νλ©΄ λμΌν λΆμ κ³Όμ μ κ±°μ³ ν΄λΉ ν€μλμ μΌμΉνκ±°λ κ΄λ ¨λ λ¬Έμλ₯Ό μμμΈμ ν΅ν΄ λΉ λ₯΄κ² μ°Ύμλ
λλ€.
- κ²°κ³Ό μ λ ¬ λ° λ°ν: κ΄λ ¨μ± μ μλ₯Ό κ³μ°νμ¬ κ°μ₯ κ΄λ ¨μ±μ΄ λμ λ¬ΈμλΆν° μ λ ¬νμ¬ κ²°κ³Όλ₯Ό λ°νν©λλ€.
2. RDBMSμ LIKE κ²μ π
κ°λ
π‘
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν
(RDBMS)μμ LIKE μ°μ°μλ λ¬Έμμ΄ ν¨ν΄ λ§€μΉμ μννκΈ° μν SQL μ°μ°μμ
λλ€. νΉμ 컬λΌμμ μ§μ λ ν¨ν΄κ³Ό μΌμΉνλ λ¬Έμμ΄μ κ°μ§ λ μ½λλ₯Ό κ²μν©λλ€. π
νΉμ§ π
- μμΌλμΉ΄λ λ¬Έμ μ¬μ©:
'%': 0κ° μ΄μμ μμμ λ¬Έμμ λ§€μΉ
'_': μ νν ν κ°μ μμμ λ¬Έμμ λ§€μΉ
- λ¨μν ν¨ν΄ λ§€μΉ: λ¬Έμμ΄μ λΆλΆ μΌμΉ μ¬λΆλ§ κ²μ¬νλ©°, ν
μ€νΈμ μλ―Έλ ꡬ쑰λ κ³ λ €νμ§ μμ΅λλ€.
- μΈλ±μ€ νμ©μ μ ν: μμΌλμΉ΄λμ μ¬μ© μμΉμ λ°λΌ μΈλ±μ€λ₯Ό νμ©νμ§ λͺ»ν΄ μ±λ₯ μ νκ° λ°μν μ μμ΅λλ€.
- ꡬ쑰νλ λ°μ΄ν° λμ: μ£Όλ‘ ν
μ΄λΈμ νΉμ 컬λΌμμ λΆλΆ λ¬Έμμ΄μ κ²μνλ λ° μ¬μ©λ©λλ€.
μ리 βοΈ
- ν¨ν΄ ν΄μ: μ¬μ©μκ° μ
λ ₯ν ν¨ν΄μμ μμΌλμΉ΄λμ μμΉλ₯Ό νμ
ν©λλ€.
- κ²μ μ€ν: ν
μ΄λΈμ ν΄λΉ 컬λΌμ μμ°¨μ μΌλ‘ κ²μ¬νμ¬ ν¨ν΄κ³Ό μΌμΉνλ λ¬Έμμ΄μ μ°Ύμ΅λλ€.
- κ²°κ³Ό λ°ν: ν¨ν΄κ³Ό λ§€μΉλ λ μ½λλ₯Ό κ²°κ³Όλ‘ λ°νν©λλ€.
3. Elastic Searchμ RDBMS LIKE κ²μμ λΉκ΅ π
κ°λ
λ° μ리μ μ°¨μ΄ π§
- Elastic Search:
- μμμΈκ³Ό ν
μ€νΈ λΆμμ κΈ°λ°μΌλ‘ μ 체 ν
μ€νΈ κ²μμ μνν©λλ€.
- λ¬Έμμ μλ―Έμ ꡬ쑰λ₯Ό κ³ λ €νμ¬ κ²μ μ νλλ₯Ό λμ
λλ€.
- RDBMSμ LIKE κ²μ:
- λ¬Έμμ΄μ λΆλΆ μΌμΉ μ¬λΆλ₯Ό κ²μ¬νλ λ¨μ ν¨ν΄ λ§€μΉμ
λλ€.
- ν
μ€νΈμ μλ―Έλ ꡬ쑰λ₯Ό μΈμνμ§ μμ΅λλ€.
νΉμ§ λΉκ΅ π
κ²μ κΈ°λ₯μ± π―
- Elastic Search:
- ννμ λΆμ, λμμ΄ μ²λ¦¬ λ± κ³ κΈ κ²μ κΈ°λ₯ μ§μ.
- 볡μ‘ν μ§μμ νν°λ§ κ°λ₯.
- RDBMS LIKE:
- κΈ°λ³Έμ μΈ ν¨ν΄ λ§€μΉλ§ μ§μ.
- 볡μ‘ν ν
μ€νΈ λΆμ κΈ°λ₯ λΆμ¬.
μ±λ₯ λ° ν¨μ¨μ± β‘
- Elastic Search:
- μμμΈμ ν΅ν΄ λμ©λ λ°μ΄ν°μμλ λΉ λ₯Έ κ²μ μλ μ 곡.
- RDBMS LIKE:
- μΈλ±μ€ νμ©μ΄ μ νμ μ΄λ©°, νΉν ν¨ν΄μ μμ λΆλΆμ
'%' μ¬μ© μ μ±λ₯ μ ν λ°μ.
νμ₯μ± π
- Elastic Search:
- λΆμ° μν€ν
μ²λ‘ μνμ νμ₯μ΄ μ©μ΄.
- RDBMS:
- μμ§μ νμ₯μ μμ‘΄νλ©°, μνμ νμ₯μ μλμ μΌλ‘ μ΄λ €μ.
λ°μ΄ν° μ ν π
- Elastic Search:
- λΉμ ν λ°μ΄ν°(λ‘κ·Έ, λ¬Έμ, λ©μμ§ λ±)μ μ ν©.
- RDBMS LIKE:
- ꡬ쑰νλ λ°μ΄ν°(ν
μ΄λΈμ νκ³Ό μ΄)μ μ ν©.
μ¬μ© μ¬λ‘ λΉκ΅ πΌ
Elastic Searchμ μ¬μ© μ¬λ‘ π
- λμ©λ λ‘κ·Έ λ°μ΄ν°μμ μ€λ₯ κ΄λ ¨ ν€μλ κ²μ.
- μ μ μκ±°λ μ¬μ΄νΈμμ μν μ€λͺ
μ κΈ°λ°μΌλ‘ κ²μ.
- μμ
λ―Έλμ΄μ κ²μκΈμμ νΉμ μ£Όμ λ ν€μλ κ²μ.
RDBMS LIKEμ μ¬μ© μ¬λ‘ π
- κ³ κ° μ΄λ¦μ νΉμ λ¬Έμμ΄μ΄ ν¬ν¨λ λ μ½λ κ²μ.
- μ ν μ½λμ μΌλΆ ν¨ν΄μ κ°μ§ νλͺ© κ²μ.
- μ£Όμ λ°μ΄ν°μμ νΉμ μ§μλͺ
μ ν¬ν¨νλ λ μ½λ κ²μ.
μ₯λ¨μ λΉκ΅ βοΈ
Elastic Search
- μ₯μ :
- κ³ κΈ κ²μ κΈ°λ₯κ³Ό λμ κ²μ μ±λ₯. π―
- λΆμ° μ²λ¦¬λ‘ μΈν μ°μν νμ₯μ±. π
- ν
μ€νΈ λΆμμ ν΅ν μ νν κ²μ κ²°κ³Ό μ 곡. π―
- λ¨μ :
- μμ€ν
볡μ‘λκ° λμ μ΄μ λ° μ μ§ λ³΄μ λΉμ© μ¦κ°. π οΈ
- μ€μκ° λ°μ΄ν° λ³κ²½μ λν μΌκ΄μ± μ μ§κ° μ΄λ €μΈ μ μμ. β±οΈ
RDBMS LIKE
- μ₯μ :
- κΈ°μ‘΄ RDBMS νκ²½μμ λ³λμ λꡬ μμ΄ μ¬μ© κ°λ₯. π
- λ¨μν ꡬνμΌλ‘ κ°λ°μ΄ μ©μ΄. π§βπ»
- λ¨μ :
- λμ©λ λ°μ΄ν°μμ μ±λ₯ μ ν. π’
- κ³ κΈ κ²μ κΈ°λ₯ λΆμ¬. β
- λΉμ ν λ°μ΄ν° κ²μμ λΆμ ν©. π«
λ§λ¬΄λ¦¬ π
Elastic Searchμ ν€μλ κ²μμ μμμΈκ³Ό ν
μ€νΈ λΆμμ ν΅ν΄ λμ©λμ λΉμ ν λ°μ΄ν°μμλ κ³ μ±λ₯μ κ³ κΈ κ²μ κΈ°λ₯μ μ 곡ν©λλ€. λ°λ©΄, RDBMSμ LIKE κ²μμ ꡬ쑰νλ λ°μ΄ν°μμ λ¨μν λ¬Έμμ΄ ν¨ν΄ λ§€μΉμ μννλ©°, μ±λ₯κ³Ό κΈ°λ₯ λ©΄μμ μ νμ μ
λλ€.
κ²μ λμ λ°μ΄ν°μ μ νκ³Ό μꡬ μ¬νμ λ°λΌ μ ν©ν κ²μ λ°©μμ μ ννλ κ²μ΄ μ€μν©λλ€. λΉμ ν λ°μ΄ν°μ λν 볡μ‘ν κ²μμ΄ νμν κ²½μ° Elastic Searchκ° μ ν©νλ©°, λ¨μν ν¨ν΄ λ§€μΉμ΄ νμν κ²½μ° RDBMSμ LIKE κ²μμ μ¬μ©ν μ μμ΅λλ€. π
μ°Έκ³ μλ£ π
μ¬λ¬λΆμ νλ‘μ νΈλ μλΉμ€μ μ ν©ν κ²μ λ°©μμ μ ννμ¬ ν¨μ¨μ μΈ λ°μ΄ν° μ²λ¦¬λ₯Ό ꡬννμκΈΈ λ°λλλ€. κΆκΈν μ μ΄λ μΆκ°μ μΈ λ
Όμκ° νμνμ λΆλ€μ λκΈλ‘ λ¨κ²¨μ£ΌμΈμ! π