2024/03 20

[엘라스틱서치] 5. 데이터 색인, 사용자 정의 토큰 필터

데이터 색인 : 역인덱스 ( 단어 → 매핑문서 ) → tokenizer filter GET _analyze { "text":"Today is a day where I feel lucky and happy", "tokenizer":"whitespace", "filter":[ "lowercase", // 소문자로 변환 "stop", // 불용어 제외 "snowball" // 단어의 원형 ] } "snowball" // 단어의 원형 → 을 넣으면, y는 i 로 바뀌어서 저장됨 빼면 lucky, happy 그대로 나옴 "stop", // 불용어 제외 → is, a, and 이런거 빠짐, 빼고 넣으면 다 나옴 결과값 { "tokens": [ { "token": "today", "start_offset": 0, "..

ELASTICSEARCH 2024.03.13

[엘라스틱서치] 4. Bool query, Range query

Bool query : 여러 쿼리를 조합하여 사용 가능 must : 쿼리가 참인 문서들을 검색 must_not : 쿼리가 거짓인 문서들을 검색 should : 검색 결과 중 이 쿼리에 해당하는 문서들의 score를 높여줌 filter : 쿼리가 참인 문서를 검색하지만, score를 계산하지 않음 must보다 검색 속도가 빠르다 [사용법] GET 인덱스명/_search { "query":{ "bool":{ "must":[ { 쿼리 }, ... ], "must_not":[ { 쿼리 }, ... ], "should":[ { 쿼리 }, ... ], "filter":[ { 쿼리 }, ... ] } } } EX01 ) 조건 - 팀이 jazz 이고, golden states 가 참인 것 ( 둘 다 참인 것 ) gol..

ELASTICSEARCH 2024.03.13

[엘라스틱서치] 3. 데이터 조건에 따라 검색하기

원하는 조건에 따라 검색이 가능하다. 먼저 이름이 park인 데이터를 조회하고, 이름이 park이면서 나이가 22인 데이터를 조회해본다. - term : 정확히 일치한 것 검색 ( 숫자 ) ⇒ 문자는 검색이 안될 수도 있다. ( 파싱한 값에 따라 달라지므로 잘 사용하지 않음 ) GET basketball/_search { "query" : { "term" : { "points":32 } } } - match : 단어가 포함되어 있으면 검색 ( 대/소문자 상관없음 ) GET basketball/_search { "query" : { "match" : { "team":"States" } } } + match에서 공백은 or를 의미한다. GET basketball/_search { "query" : { "ma..

ELASTICSEARCH 2024.03.11

[엘라스틱서치] 2. 데이터 추가하기

classes라는 인덱스를 GET으로 조회해보면, 아직 만들어진 인덱스가 없어서 오류가 뜬다. 1. 인덱스 만들기 - PUT 2. 생성한 인덱스 조회 - GET 3. 인덱스 삭제 - DELETE 삭제한 후에 다시 조회해보면, 삭제했기때문에 오류가 나온다. 5. PUT 으로 다시 인덱스 생성한 후 문서 생성하기 -> ( [표현법] POST/인덱스명/_doc/id )하고, 안에 내용 넣기 생성한 문서 확인해보기 -> 인덱스 번호 1번인 것 조회 만약 ID를 넣지 않고 문자를 생성하면, 문자 + 숫자 조합으로 ID가 자동으로 생성되는데 이는 권장하지 않는다. ID로 검색해오기때문 이는 키바나 뿐 만아니라, 포스트맨에서도 조회가 가능하다. 6. 내용 수정 - 기존에 있는 내용을 수정해본다. "hello"라고 넣..

ELASTICSEARCH 2024.03.11

[엘라스틱서치] 1. 개념 및 설치

ELASTICSEARCH 개념 : 실시간 데이터를 저장, 분석 및 검색하는 엔진 아파치 루씬을 사용하여 개발 루씬 : 전문 색인과 검색을 지원하는 확장 가능한 고성능 정보 검색 JSON 문서기반 저장 및 검색 ELK 스택으로 제공 E ( ElasticSearch ) : 데이터 저장 및 검색 L ( Logstach ) : 데이터 수집 로그 스태시는 데이터의 입력, 변환, 출력을 실시간 파이프라인으로 처리하는 오픈 데이터 수집 엔진 다양한 입력소스에서 동시에 데이터를 수집하여 변환한 후 자주 사용하는 스태시-보관소로 전송 K ( Kibana ) : 데이터 시각화 및 리포팅 분석 사용 사례 위키피디아 전문 검색 수행 실시간 타이핑 검색 추천 검색어 기능 깃허브 1300억 줄이 넘는 소스 코드를 검색하는데 사용..

ELASTICSEARCH 2024.03.11