Skip to content

Elastic_Search_For_Beginners

JAEHEE RYU edited this page May 24, 2021 · 5 revisions

0️⃣ Install requirements

# download elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz -q
tar -xzf elasticsearch-7.6.2-linux-x86_64.tar.gz
chown -R daemon:daemon elasticsearch-7.6.2
elasticsearch-7.6.2/bin/elasticsearch-plugin install analysis-nori
# collapse-hide
pip install elasticsearch

+) stop word 파일 추가

  • elasticsearch-7.6.2/config/user_dic/my_stop_dic.txt 경로에 아래 파일 추가

    my_stop_dic.txt

1️⃣ preprocess.ipynb 실행

  • new_baseline에 맞도록 파일 경로 수정하여 반영
  • /opt/ml/input/data/preprocess_wiki.json 파일을 얻기 위한 과정임😎

preprocess.ipynb

2️⃣ 기존 elastic search 실행 여부 확인하여 삭제(optional)

ps -ef | grep elastic
kill -9 <PID>

image

실행 중인 elastic search 죽이기 예시

3️⃣ es_retrieval.ipynb 실행

만약 설치 에러가 이유 없이 발생하는 경우 위 2번의 실행 중인 elastic search 삭제 후 노트북 재실행을 권장함

⇒ index 바꾸어 elastic search를 재실행 할 때도 2번처럼 삭제 후 재실행

es_retrieval.ipynb

참고) ikyo's index(위 es_retrieval.ipynb 파일에 그대로 반영해둠)

  • 아래 인덱스 코드를 변경하여 elastic search에 여러 옵션을 줄 수 있음
index_config = {
        "settings": {
            "analysis": {
                "filter":{
                    "my_stop_filter": {
                        "type" : "stop",
                        "stopwords_path" : "user_dic/my_stop_dic.txt"
                    }
                },
                "analyzer": {
                    "nori_analyzer": {
                        "type": "custom",
                        "tokenizer": "nori_tokenizer",
                        "decompound_mode": "mixed",
                        "filter" : ["my_stop_filter"]
                    }
                }
            }
        },
        "mappings": {
            "dynamic": "strict", 
            "properties": {
                "document_text": {"type": "text", "analyzer": "nori_analyzer"}
                }
            }
        }

image

elastic search 띄우기에 성공한 경우 위와 같은 메세지 출력됨

image

wiki 등록 시 확인되는 출력(8분 정도 소요)

image

최종 출력되는 metrics