BackEnd/Elasticsearch API
-
SearchBackEnd/Elasticsearch API 2025. 3. 20. 02:00
URI SearchesPOST /my_index/_doc/{ "content": "quick book", "publish_date": "2024-02-01"}POST /my_index/_doc/{ "content": "quick walk", "publish_date": "2024-03-01"}# URI SearchesGET /my_index/_search?q=content:quickGET /my_index/_search?q=content:quick AND content:walk DSL (Domain Specific Language) QueriesBasic SearchGET /my_index/_search{ "query": { "match": { "content": "quick" ..
-
AnalyzerBackEnd/Elasticsearch API 2025. 3. 18. 05:00
Analyzer A component that processes text during indexing and querying. The analyzer breaks down text into a stream of tokens or terms (usually words) and can apply various transformations like lowercasing, removing stop words, and more. Analyzer 구성요소Tokenizer: 텍스트를 개별 단어나 토큰으로 나누는 역할을 합니다. (e.g., words)Character Filters: 텍스트를 토크나이저에 전달하기 전 문자 수준에서 변환하는 역할을 합니다. (e.g., removing HTML tags)Token F..
-
Index TemplateBackEnd/Elasticsearch API 2025. 3. 16. 09:00
인덱스 템플릿(Index Template)은 새로운 인덱스를 생성할 때 자동으로 적용할 수 있는 매핑과 설정을 정의하는 방법입니다. 이는 여러 인덱스가 공통의 설정과 매핑을 가질 수 있도록 하여, 인덱스 생성 시 효율성을 높이고 일관성을 유지하는데 유용합니다. 인덱스 템플릿은 시간 기반 인덱스와 같은 유사한 구조를 가진 인덱스를 관리하는데 유용합니다. 예를 들어, 로그 데이터나 메트릭 데이터는 주로 시간별로 분리되어 저장되며, 이러한 인덱스들은 동일한 매핑과 설정을 공유하는 경우가 많습니다. Reserved index patternslogs-*-*metrics-*-*synthetics-*-*profiling-*security_solution-*-* Index Template# 인덱스 템플릿 생성PUT..
-
Alias & ReindexBackEnd/Elasticsearch API 2025. 3. 15. 11:00
Elasticsearch에서 인덱스의 매핑은 변경할 수 없습니다. 이는 색인된 데이터가 특정한 구조와 형식으로 저장되기 때문입니다. 매핑을 변경하면 기존 데이터가 더이상 유효하지 않거나 잘못된 형식으로 해석될 수 있으므로, 매핑을 변경하려면 새로운 인덱스를 생성하고 데이터를 재색인해야 합니다. Alias & Reindex Alias는 인덱스의 매핑 변경 시 유용합니다. 새로운 인덱스를 생성하고 데이터를 재색인(Reindex)한 후, Alias를 업데이트하여 검색 요청을 새로운 인덱스로 전달할 수 있습니다. 이는 검색 서비스 중단 없이 인덱스를 관리하는 방법입니다. 또한, Alias는 여러 인덱스를 하나의 이름으로 통합하여 검색할 수 있게 합니다(Multi Index). Alias 사용 방법1. inde..
-
Mapping parametersBackEnd/Elasticsearch API 2025. 3. 14. 02:00
index 필드가 색인될지 여부를 결정합니다. 대부분의 필드 타입에서 기본적으로 활성화되어 있습니다. false일 경우 색인이 되지 않아 검색이 불가능합니다.{ "properties": { "session_data": { "type": "keyword", "index": false } }} analyzer 텍스트 필드에 사용할 분석기를 지정합니다.{ "properties": { "title": { "type": "text", "analyzer": "english" } }} format 날짜 필드에 사용되는 형식을 지정합니다.{ "properties": { "timestamp": { "type": "date", ..
-
MappingBackEnd/Elasticsearch API 2025. 3. 13. 02:00
Mapping은 데이터의 저장 형태와 검색 방식을 정의하는 명세입니다. 관계형 데이터베이스의 스키마와 비슷한 개념으로, 인덱스에 저장될 문서의 구조와 필드 타입을 지정합니다. Key Components of MappingIndexDocumentFieldData Type Data TypeText: 색인 시 분석되어 토큰화됩니다. 전체 텍스트 검색에 적합합니다.Keyword: 분석되지 않고 그대로 저장되기에 정확한 일치 검색, 정렬, 집계에 적합합니다.Numeric: 숫자 데이터를 저장하는 데 사용됩니다. e.g long, integer, short, byte, and etcDate: 날짜와 시간 정보를 저장하는 데 사용됩니다.Boolean: 참/거짓 값을 저장하는 데 사용됩니다.Range: 범위 데이터를 ..
-
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..