전체 글
-
AnalysisBackEnd/Elasticsearch API 2025. 3. 11. 01:00
Elasticsearch Analysis는 텍스트 데이터를 처리하고, 색인할 수 있도록 변환하는 과정입니다. 이는 텍스트 데이터를 토큰화하고, 필터링하여 검색에 적합한 형태로 만드는 역할을 합니다. Key components of AnalyzersCharacter Filters: 텍스트를 토큰화하기 전에 문자 단위로 처리하는 역할을 합니다. e.g HTML Stripping, Mapping and Pattern ReplacementTokenizer: 텍스트를 개별 단어 또는 토큰으로 나누는 역할을 합니다. e.g Standard Tokenizer, Whitespace Tokenizer, Keyword TokenizerToken Filters: 생성된 토큰을 추가로 처리하는 역할을 합니다. e.g Lowe..
-
Multiple DocumentsBackEnd/Elasticsearch API 2025. 3. 10. 01:00
_update_by_queryTo update documents in Elasticsearch based on a query, you can use the _update_by_query API.# 모든 Documents를 업데이트 합니다.POST /store/_update_by_query{ "script": { "source": "ctx._source.stock-=1" }}# product가 peach인 Documents만 업데이트 합니다.POST /store/_update_by_query{ "script": { "source": "ctx._source.stock-=1" }, "query": { "term": { "product": "peach" } }} _del..
-
DocumentBackEnd/Elasticsearch API 2025. 3. 9. 10:00
Create# create an indexPUT /my_index{ "settings": { "index": { "number_of_shards": 1, // You can specify the number of shards here "number_of_replicas": 1 // Set to 0 for no replicas } }}# crate a documentPOST /my_index/_doc/100{ "title": "Elasticsearch Advanced", "author": "Anthony K", "publish_date": "2024-05-20", "tags": ["search", "analytics"]} RetrieveGET /my_index/..
-
IntroductionBackEnd/Elasticsearch API 2025. 3. 8. 12:00
Overview Backend Developer, Server Developer로 실무에서 사용하는 Elasticsearch API에 대해 정리합니다. 모든 API는 Kibana Dev Tools에서 확인 가능합니다. Elasticsearch에 대한 상세 정보는 Elasticsearch 포스팅을 참고하시면 됩니다. ClusterGET /_cluster/health초록색: 모든 주 샤드와 복제 샤드가 할당되어 있는 상태입니다.노란색: 모든 주 샤드는 할당되었지만 일부 복제 샤드는 할당되지 않은 상태입니다.빨간색: 일부 주 샤드가 할당되지 않은 상태입니다. IndexGET /_cat/indices?vElasticsearch 클러스터의 모든 인덱스를 나열하며, 각 인덱스의 상태, 문서 수, 총 크기 등을 표..
-
Java 21. 가상 스레드BackEnd/Java 2024. 12. 15. 07:00
프로세스(Process): 컴퓨터에서 실행되고 있는 프로그램입니다.스레드(Thread): 프로세스 내 더 가벼운 공유 메모리 단위로, 작업의 효율적인 병렬 실행을 가능하게 하는 실행 흐름의 단위입니다. Native Thread Model Java에서 스레드를 만들어 실행하게 되면, JVM 내부의 자바 스레드 객체와 OS의 커널 스레드(Native Thread)가 모두 생성됩니다. 자바 스레드와 OS의 커널 스레드가 1:1로 매핑되기 때문에 1:1 스레딩 모델이라고도 부릅니다. 다음 코드는 3개의 자바 스레드 객체와 3개의 OS 커널 스레드를 생성하고 1:1로 매핑합니다. public static void threadExample01() throws Exception { for (int i = 0..
-
Java 18-21. 주요 변경 내용BackEnd/Java 2024. 12. 13. 23:00
Math APIclamp 함수 (Java 21) clamp 함수는 테스트할 값 value가 min과 max 사이에 있는지 확인하는 기능입니다. 사이에 있으면 value를 반환하고, 더 작으면 min 값을, 더 크면 max 값을 반환합니다.public static int clamp(long value, int min, int max) { if (min > max) { throw new IllegalArgumentException(min + " > " + max); } return (int) Math.min(max, Math.max(value, min));} String APIindexOf 함수 기존 indexOf() 함수는 특정 문자의 위치를 처음부터 찾거나 특정 지점부터 찾을 수 있었습니다..
-
Java 21. Switch Pattern MatchingBackEnd/Java 2024. 12. 12. 22:00
Switch Pattern Matching Java 17 preview, Java 21 정식 기능이 되었습니다. 기존 switch expression의 경우, switch selector에 char / byte / short / int / 문자열 / Enum만 들어갈 수 있었습니다. private String calculateTestGrade(int score) { return switch (score) { // score: switch selector case 5 -> "A"; case 4, 3 -> "B"; case 2, 1 -> "C"; default -> "F"; }; } Java 21. switch pattern matching의 등장으..
-
Java 21. Record PatternBackEnd/Java 2024. 12. 11. 23:00
Record Pattern Java 19 preview, Java 21 정식으로 출시된 Record Pattern은 Record 클래스를 instanceof pattern matching과 함께 사용할 때 내부 필드에 바로 접근할 수 있는 기능입니다. 다음은 Record 클래스와 instanceof pattern matching을 함께 사용한 코드입니다. record Point(double x, double y) { } public static void findDistanceIfPoint(Object object) { if (object instanceof Point p) { double distance = Math.hypot(p.x(), p.y()); System..