분류 전체보기
-
[Elasticsearch] 엘라스틱 서치 데이터 삭제(delete)Elasticsearch 2023. 4. 17. 17:28
Elasticsearch에서는 삭제 쿼리를 사용하여 문서를 삭제할 수 있습니다. DELETE //_doc/ : 삭제할 문서가 있는 인덱스 이름을 지정합니다. : 삭제할 문서의 ID를 지정합니다. 예를 들어, my_index 인덱스에 my_document ID를 가진 문서를 삭제하려면 다음과 같은 쿼리를 사용할 수 있습니다. DELETE /my_index/_doc/my_document 또는 다음과 같은 쿼리도 사용할 수 있습니다. DELETE /my_index/_doc/my_document?routing=user1 이 경우 routing 매개 변수를 사용하여 문서를 삭제할 때 라우팅 값을 지정합니다. 라우팅 값을 지정하면 해당 값과 일치하는 샤드만 검색하여 문서를 삭제합니다. 이를 통해 쿼리의 성능을 최적..
-
[SpringBoot] SpringBoot @ControllerAdviceWEB/SpringBoot 2023. 4. 13. 18:28
@ControllerAdvice는 스프링 프레임워크에서 제공하는 애노테이션으로, @Controller가 붙은 클래스에서 발생하는 예외를 전역적으로 처리할 수 있는 방법을 제공합니다. @ExceptionHandler, @InitBinder, @ModelAttribute와 같은 애노테이션을 이용하여 전역적으로 적용할 수 있는 메서드를 정의할 수 있습니다. 보통 예외 처리나 공통적인 모델 객체를 포함하는 기능을 구현할 때 사용됩니다. @ModelAttribute @ModelAttribute 어노테이션을 컨트롤러 메소드의 매개변수나 메소드 내부의 변수에 적용하면, 해당 변수에 전달받은 파라미터 값이 자동으로 바인딩됩니다. @ModelAttribute 어노테이션을 @ControllerAdvice 어노테이션이 적용..
-
[Intellij] error: invalid source release: 17 해결 방법카테고리 없음 2023. 4. 13. 15:47
가끔 build를 할 때 다음과 같은 에러가 발생한다. 이와같은 에러가 발생할 때는 아래 3가지 방법을 모두 적용해야 한다. Cause: error: invalid source release: 17 1. file -> project structure -> project 아래 SDK에 17버전을 적용한다. 2. file -> project structure -> SDKs 현재 sdk가 17로 잘 적용되어 있는지 확인한다. 3. file -> settings -> build, execution, deployment -> build tools -> gradle gradle JVM에 자바 17로 설정해준다.
-
[Elasticsearch] 엘라스틱 서치 데이터 검색(search)Elasticsearch 2023. 4. 10. 08:45
match match 쿼리는 특정 필드에서 주어진 텍스트와 일치하는 문서를 반환합니다. 다음은 match 쿼리의 예시입니다. { "query": { "match": { "title": "Elasticsearch" } } } 위 쿼리는 title 필드에서 **"Elasticsearch"**와 일치하는 모든 문서를 반환합니다. match_all match_all 쿼리는 인덱스의 모든 문서를 반환합니다. 다음은 match_all 쿼리의 예시입니다. { "query": { "match_all": {} } } multi_match multi_match 쿼리는 여러 필드에서 동시에 일치하는 값을 찾는데 사용합니다. query 매개변수에 검색어를 입력하면, 해당 검색어를 포함하는 모든 필드에서 검색합니다. 이 쿼리를..
-
[Elasticsearch] 엘라스틱 서치 데이터 색인Elasticsearch 2023. 4. 7. 13:47
Elasticsearch에서 데이터를 입력할 때, 저장이 아닌 색인한다고 표현합니다. Bulk API(일괄 처리) Bulk API는 여러 개의 문서를 한 번에 색인하거나 삭제하거나 업데이트할 수 있는 API입니다. 일반적으로 대량의 데이터를 처리해야 할 때 유용하게 사용됩니다. 매우 큰 데이터셋을 처리할 때 일괄 처리를 수행하므로 시스템 부하를 줄일 수 있습니다. Bulk API는 색인, 업데이트, 삭제를 수행할 수 있습니다. // Bulk API를 사용하여 색인하는 예시 POST /{인덱스명}/_bulk { "index" : { "_index" : "{인덱스명}", "_id" : "1" } } { "title": "제목1", "content": "내용1" } { "index" : { "_index" :..
-
[Elasticsearch] 엘라스틱 서치 형태소 분석기Elasticsearch 2023. 4. 6. 16:28
인덱스 생성 이전 게시글 참고 - https://manybean.tistory.com/entry/Elasticsearch-%EC%97%98%EB%9D%BC%EC%8A%A4%ED%8B%B1-%EC%84%9C%EC%B9%98-%EC%9D%B8%EB%8D%B1%EC%8A%A4-%EC%83%9D%EC%84%B1 [Elasticsearch] 엘라스틱 서치 인덱스 생성 인덱스를 생성하는 기본 쿼리 PUT / { "settings": { "number_of_shards": , "number_of_replicas": , ... }, "mappings": { } } Settings와 Mappings 모든 인덱스는 두 개의 정보 단위를 가지고 있는데 바로 settings와 mappings이다. manybean.tistor..
-
[Elasticsearch] 엘라스틱 서치 인덱스 생성Elasticsearch 2023. 4. 6. 15:38
인덱스를 생성하는 기본 쿼리 PUT / { "settings": { "number_of_shards": , "number_of_replicas": , ... }, "mappings": { } } Settings와 Mappings 모든 인덱스는 두 개의 정보 단위를 가지고 있는데 바로 settings와 mappings이다. Mappings 데이터 타입 필드의 데이터 타입을 정의합니다. 데이터 타입에는 숫자, 문자열, 날짜 등이 있으며, 데이터의 형식과 크기에 따라 적절한 데이터 타입을 지정해야 합니다. "properties": { "title": { "type": "text" }, "price": { "type": "integer" }, "created_at": { "type": "date", "forma..
-
[Spring] QuerydslWEB/Spring 2023. 2. 15. 15:30
Querydsl이란? HQL(Hibernate Query Language) 쿼리를 타입에 안전하게 생성 및 관리할 수 있도록 해주는 프레임워크 Querydsl을 통하여 생성되는 정적 Q-type 클래스를 이용하여 SQL과 같은 쿼리를 생성하도록 도와주는 프레임워크. Querydsl이 필요한 이유 JPA를 사용할 때, 복잡한 쿼리가 필요할 경우, JPA 자체 제공 메서드만으로 해결하기에 어려움이 있음. @Configuration public class QueryDslConfig { // 영속성 관리 어노테이션 @PersistenceContext private EntityManager entityManager; @Bean public JPAQueryFactory jpaQueryFactory() { retur..