반응형

엘라스틱서치(elasticsearch) 샘플데이터 로딩 

 

1. Home > Add data > Sample data 에서 추가. 

2. Add data  

3. View Data 

4. 샘플데이터 조회 

GET /kibana_sample_data_ecommerce/_search
GET /kibana_sample_data_flights/_search
GET /kibana_sample_data_logs/_search

반응형
반응형

1. curl -XGET 'localhost:9200/_cluster/health?pretty'

2. curl -XGET 'localhost:9200/_cat/indices?v'  

3. curl -XGET 'localhost:9200/_cat/shards?v' 

4. curl -XGET 'localhost:9200/_cat/allocation?v'

5. curl -XGET 'localhost:9200/_cat/shards/{index_name}?v' 

 

 

1. 클러스터 헬스 체크

- 클러스터는 ES에서 가장 큰 시스템 단위로, node들의 집합 

- 최초 ES 설치 시 Cluster와 node는 1개씩 존재 

curl -XGET 'localhost:9200/_cluster/health?pretty'

 

2. indices 헬스 체크 

curl -XGET 'localhost:9200/_cat/indices?v'  

- 생성된 인덱스 정보를 확인 

 

3. shards 헬스 체크 

curl -XGET 'localhost:9200/_cat/shards?v' 

 

4. 클러스터 디스크 현황 

curl -XGET 'localhost:9200/_cat/allocation?v'

 

5. 특정 인덱스의 샤드 상태 확인 

curl -XGET 'localhost:9200/_cat/shards/{index_name}?v' 

반응형
반응형

1. 개요
역색인은 엘라스틱서치에서 효율적인 검색을 위해 정보를 저장하고 구성하는 데 사용되는 데이터 구조입니다.
역색인, 작동 방식, 이점 및 제한 사항, 다양한 도메인에서의 응용 프로그램에 대해 자세히 살펴보겠습니다.

2. 역색인 구조의 장/단점 
-장점 
빠른 검색 속도: 역인덱스는 단어를 키(key)로 사용하여 문서를 빠르게 찾을 수 있습니다. 검색 쿼리가 들어오면 해당 단어가 포함된 문서 ID를 빠르게 반환하기 때문에 검색 속도가 빠릅니다.
효율적인 저장 공간: 역인덱스는 메모리 내 또는 디스크에 저장할수 있는 효율적인 방법을 제공합니다. 각 단어당 하나의 색인 엔트리만 유지되기 때문에 더 적은 공간을 차지할 수 있습니다.

-단점
업데이트와 동기화 문제: 역인덱스는 단어가 포함된 문서 ID 목록을 유지합니다. 문서가 추가되거나 삭제되면 해당 단어에 대한 인덱스를 업데이트해야 합니다. 이것은 시간이 걸리며, 문서 수가 증가하면 데이터베이스 관리 부담이 커집니다.
메모리 제약: 역인덱스를 메모리 내에 유지하는 것은 사용 가능한 메모리에 제한이 있기 때문에 문서 수가 증가하면 성능이 저하될 수 있습니다.
정확도 문제: 알고리즘의 특성상 일부 검색어는 모호할 수 있습니다. 이러한 경우, 역인덱스는 검색어가 존재하는 모든 문서를 반환하는 경우가 발생할 수 있습니다. 이러한 문제를 해결하기 위해서는 더 나은 구문 분석 및 색인화 방법이 필요합니다.

 

3. 역색인의 작동 방식
역색인은 문서에 있는 각각의 고유한 단어나 용어를 해당 문서에 매핑하는 방식으로 작동합니다. 
이는 각 문서를 문서에 포함된 단어에 매핑하는 정방향 색인과 대조됩니다. 아래 이미지에서 정방향/역방향 색인에 대해 차이점을 이해 할 수있습니다. 


역색인은 용어, 문서 및 색인의 세 가지 주요 개념을 기반으로 합니다. 용어는 문서에서 발견되는 고유한 단어 또는 구문입니다. 문서는 웹 페이지와 같이 인덱싱되는 개별 콘텐츠입니다. 색인에는 문서에 대한 용어의 매핑이 포함되어 있으며 문서 내 용어의 위치와 같은 추가 정보가 포함될 수 있습니다.
역색인을 만들기 위해 각 문서의 텍스트는 먼저 불용어를 제거하고 형태소 분석을 적용하고 기타 기술을 사용하여 텍스트를 정규화하여 사전 처리됩니다. 그런 다음 텍스트가 토큰화되어 개별 용어로 분할됩니다. 다음을 용어가 색인에 추가되며 각 용어는 해당 용어가 나타나는 문서를 가리킵니다. 이는 문서 ID, 용어 빈도(즉, 용어가 문서에 나타나는 빈도) 및 문서 내 용어의 위치와 같은 정보를 포함하는 각 용어-문서 쌍에 대한 인덱스를 생성하여 수행됩니다. 아래 이미지의 예제에서 좀 더 자세히 살펴 볼 수 있습니다. 

 

4. 검색 쿼리는 실행
검색 쿼리가 요청되면 쿼리가 먼저 토큰화되고 개별 용어가 역색인에서 조회됩니다. 각 용어에 대해 인덱스는 각 문서 내에서 용어의 빈도 및 위치에 대한 정보와 함께 용어를 포함하는 문서 목록을 반환합니다. 그런 다음 이러한 목록은 용어 빈도, 문서 길이 및 문서 내 용어의 근접성과 같은 요소를 고려하는 관련성 점수에 따라 결합되고 순위가 지정됩니다. 그런 다음 순위가 가장 높은 문서가 검색 결과로 반환됩니다.

 

 

반응형
반응형

엘라스틱서치 7.9.3 설치에 이어서 키바나 7.9.3을 설치해 보겠습니다. 

 

1.  도커 레파지토리에서 7.9.3를 다운로드 받습니다. 

 

docker pull docker.elastic.co/kibana/kibana:7.9.3

 

2. kibana가 가동할때 참고하는 yml 파일을 볼륨 매핑하기 위해 vi 에디터로 kibana.yml 파일을 생성 후 host 및 port 등을 설정합니다. 

 

vi /home/kibana/config/kibana.yml     
    server.name: kibana
    server.port: 5601 
    server.host: "0.0.0.0"
    elasticsearch.hosts: [ "http://localhost:9200" ]
    monitoring.ui.container.elasticsearch.enabled: true    

 

3. mac os의 amd64를 참고 하여 docker를 가동합니다. 

컨테이너 간에 사용하는 네트워크가 있는 경우는 service_network와 같이 설정해 줍니다. 없으면 관련 부분은 제거하시면 됩니다.  

 

sudo docker run -d --name kibana  -v /home/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml --platform linux/amd64 --network service_network -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://172.30.1.53:9200" -e "ELASTICSERCH_URL=http://172.30.1.53:9200" docker.elastic.co/kibana/kibana:7.9.3 

 

4. 살짝 시간이 지난 후 url 에서 확인해보시면 kibana가 실행되는 것을 확인 할 수 있습니다. 

반응형

+ Recent posts