Just Search and Indexing Page
Spring boot REST API with ElasticSearch
ElasticSearch ๊ธฐ๋ฐ ๊ฒ์์์ง ๊ตฌ์ถ
๊ด๊ณํ DB์ ์ ์ฅ๋ Data ์์ธ - ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๊ฒ์ ์์ง ํ์ฉํ ์ ์๋ ์์คํ ๊ตฌ์ถ
- ElasticSearch ๊ธฐ๋ฐ์ ๊ฒ์์์ง์ ๊ตฌ์ถ ํ ๊ด๊ณํ DB์ ์ ์ฅ๋ Data(ex. QnA, ๊ณต์ง์ฌํญ ๋ฑ)์ ๋ํด ๋ฐ์ดํฐ๋ฅผ ์์ธํ์ฌ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๊ฒ์ ์์ง์ ํ์ฉํ ์ ์๋ ์์คํ ์ ๊ตฌ์ถํ๋ค.
- 1. ์ปจํ ์ธ Bulk API ๋ช ์ธ
- 2. ์์ธ List ์กฐํ API ๋ช ์ธ
- 3. ์ปจํ ์ธ ๊ฒ์ API ๋ช ์ธ
- 4. ์ปจํ ์ธ ๋ถ๋ถ ์์ธ API ๋ช ์ธ
Technicalย Requirements Specification
- DB ๋ฐ์ดํฐ ์์ธ ๋ฐ ๋ฒํฌ
- ๊ฒ์ Rest API ์ ๊ณต
- ๊ด๋ฆฌ ํ๋ฉด ์ ๊ณต
- ๋์ ์์ธ ์ฒ๋ฆฌ
- ๊ฒ์ ์ต์ (ํ์ด๋ผ์ดํธ) ๊ธฐ๋ฅ ์ ๊ณต ์ฒ๋ฆฌ
๋ชจ๋ ์
์ถ๋ ฅ์ JSON ํํ
-
API ๊ธฐ๋ฅ๋ช ์ธ์ ๊ธฐ์ ๋ API ๋ชจ๋ ๊ฐ๋ฐ โ ๊ฒ์ ์ปจํ ์ธ ์กฐํ API โ ์ปจํ ์ธ Bulk API โ ์ปดํ ์ธ ๋ถ๋ถ ์์ธ API
-
๊ด๋ฆฌ์ ํ๋ฉด โ Spring boot ํ๋ ์์ โ DB ์ง์ ํ ์ ์ฒด ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ โ DB ์ง์ ํ ๋ถ๋ถ ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ โ ์์ธ๋ index ํ์ธ ๊ธฐ๋ฅ
-
๋จ์ ํ ์คํธ(Unit Test) โ Test Code ์์ฑ โ ๊ธฐ๋ฅ ๊ฒ์ฆ
RQ-ID | ๊ตฌ๋ถ | ์๊ตฌ์ฌํญ๋ช | ์๊ตฌ์ฌํญ ๋ด์ฉ |
---|---|---|---|
RQ-001 | ๊ฒ์์์ง | ๊ฒ์์์ง ์ค์น | ๊ฒ์์์ง ElasticSearch ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑ |
RQ-002 | API | ์ ์ฒด์์ธ | ์ปจํ ์ธ Bulk ์ฒ๋ฆฌ API๊ฐ ์ ๊ณต |
RQ-003 | ์์ธ ์ญ์ | ์ฌ ์์ธ์ฒ๋ฆฌ๋ฅผ ์ํด Index ์ญ์ ๊ธฐ๋ฅ ์ ๊ณต | |
RQ-004 | ๊ฒ์ | ๊ฒ์ ์ปจํ ์ธ ์กฐํ API๊ฐ ์ ๊ณต | |
RQ-005 | ๋ถ๋ถ์์ธ | ์ปจํ ์ธ ๋ถ๋ถ ์์ธ (create, update, delete) API๊ฐ ์ ๊ณต | |
RQ-006 | ๊ฒ์์ต์ | ๊ฒ์ ์ ๋งค์นญ ๋ฌธ์์ด์ ๋ํด ํ์ด๋ผ์ดํธ ๊ธฐ๋ฅ์ด ์ ๊ณต | |
RQ-007 | Admin | DB์ ๋ณด ์ ์ฅ | ๊ด๋ฆฌ์ ํ๋ฉด์ ํตํด DB ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๊ธฐ๋ฅ์ด ์ ๊ณต |
RQ-008 | ์์ธ์ฒ๋ฆฌ | ๊ด๋ฆฌ์ ํ๋ฉด์ ํตํด ๋์ DB์ง์ ํ ์ ์ฒด ์์ธ์ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ์ด ์ ๊ณต | |
RQ-009 | ์์ธ List์กฐํ | ๊ด๋ฆฌ์ ํ๋ฉด์ ํตํด ์์ธ๋ Index List๋ฅผ ํ์ธ |