Elasticsearch 기본 개요(一)

3409 단어
성명: 본 시리즈(제목은 1, 2...)문장은 모두 기초를 두고 있다https://es.xiaoleilu.com/010_Intro/25_Tutorial_Indexing.html

ES가 뭐예요?


Elasticsearch는 Apache Lucene(TM) 기반 소스 검색 엔진입니다.오픈소스든 전유 분야든 Lucene은 지금까지 가장 선진적이고 성능이 가장 좋고 기능이 가장 완전한 검색엔진 라이브러리로 여겨질 수 있다.하지만 루틴은 창고일 뿐이야.그것을 사용하려면 자바를 개발 언어로 사용하고 응용 프로그램에 직접 통합해야 한다. 더 심각한 것은 루틴이 매우 복잡하기 때문에 검색에 관한 지식을 깊이 있게 이해하고 어떻게 작동하는지 이해해야 한다.Elasticsearch도 자바를 사용하여 Lucene를 개발하고 그 핵심으로 사용하여 모든 색인과 검색 기능을 실현하지만 간단한 RESTful API를 통해 Lucene의 복잡성을 숨기고 전체 텍스트 검색을 간단하게 하는 것이 목적이다.그러나 Elasticsearch는 Lucene과 전체 텍스트 검색뿐만 아니라 다음과 같이 설명할 수 있습니다.
  • 각 필드를 인덱싱하고 검색할 수 있는 분산된 실시간 파일 저장소
  • 분포식 실시간 분석 검색엔진
  • 수백 대의 서버로 확장하여 PB급 구조화 또는 비정형 데이터 처리
  • 그리고 이 모든 기능이 하나의 서비스에 통합되어 당신의 응용 프로그램은 간단한 RESTful API, 각종 언어의 클라이언트, 심지어 명령행을 통해 상호작용할 수 있습니다.Elasticsearch를 손에 넣는 것은 매우 쉽다.그것은 많은 합리적인 부족치를 제공했고 초보자들에게 복잡한 검색엔진 이론을 숨겼다.그것은 상자를 열면 바로 사용할 수 있고, 아주 적은 학습만으로 생산 환경에서 사용할 수 있다.Elasticsearch는 Apache 2 license에서 사용할 수 있으며 무료로 다운로드, 사용, 수정할 수 있습니다.Elasticsearch에 대한 이해가 깊어짐에 따라 다양한 문제 분야에 따라 Elasticsearch의 고급 특성을 맞춤형으로 설정할 수 있습니다. 이 모든 것은 설정할 수 있고 설정이 매우 유연합니다.

    Marvel 설치


    Marvel은 Elasticsearch의 관리 및 모니터링 도구로 개발 환경에서 무료로 사용됩니다.이것은 사용자가 브라우저를 통해 Elasticsearch와 직접 상호작용을 할 수 있도록 센스라는 상호작용 컨트롤러를 포함한다.Elasticsearch 온라인 문서의 많은 예시 코드에는 View in Sense 링크가 첨부되어 있습니다.클릭하여 들어가면 센스 컨트롤러에서 해당하는 실례를 열 수 있습니다.Marvel을 설치하는 것은 필수적이지 않지만, 로컬 Elasticsearch 그룹에서 예시 코드를 실행함으로써 이 책과의 상호작용을 증가시킬 수 있습니다.Marvel은 Elasticsearch 디렉토리에서 다음 명령을 실행하여 다운로드하고 설치할 수 있는 플러그인입니다.
    ./bin/plugin -i elasticsearch/marvel/latest
    

    모니터링을 사용하지 않으려면 다음 명령을 통해 Marvel을 닫을 수 있습니다.
    echo 'marvel.agent.enabled: false' >> ./config/elasticsearch.yml
    

    Elasticsearch 실행 Elasticsearch가 준비되었습니다. 다음 명령을 실행하면 프론트에서 시작할 수 있습니다.
    ./bin/elasticsearch
    

    시작 후 로컬만 액세스할 수 있는 경우 구성 파일 elasticsearch.ymlnetwork.host 을 수정하려고 합니다(구성 파일 형식이 #로 시작하는 것이 아니라 한 칸을 비워야 합니다:나중에 한 칸을 비워야 합니다): network.host: 0.0.0.0.
    백그라운드에서 수호 프로세스 모드로 실행하려면 -d 파라미터를 추가합니다.테스트를 위해 다른 터미널을 엽니다.
    curl 'http://localhost:9200/?pretty'
    

    다음과 같은 반환 메시지가 표시됩니다.
    { "status": 200, 
       "name": "Shrunken Bones",
        "version": { "number": "1.4.0", "lucene_version": "4.10" }, 
       "tagline": "You Know, for Search"
    }
    

    이것은 당신의 ELasticsearch 집단이 이미 시작되고 정상적으로 운행되었다는 것을 설명한다. 다음에 우리는 각종 실험을 시작할 수 있다.

    클러스터 및 노드


    노드(node)는 실행 중인 Elasticsearch 인스턴스입니다.클러스터 (cluster) 는 같은 클러스터를 가진 그룹입니다.name의 노드 집합은 그들이 협동하여 작업을 하고 데이터를 공유하며 고장 이전과 확장 기능을 제공한다. 물론 하나의 노드도 하나의 집단을 구성할 수 있다.기본값 cluster.name 을 대체할 적당한 이름을 찾는 것이 좋습니다. 예를 들어 당신의 이름입니다. 그러면 새로 시작한 노드가 같은 네트워크의 다른 같은 이름의 집단에 들어가는 것을 방지할 수 있습니다.config/디렉터리에 있는 elasticsearch.yml 파일을 수정한 다음 ELasticsearch를 다시 시작해서 할 수 있습니다.Elasticsearch가 프론트에서 실행되면 Ctrl+C 단축키를 사용하여 종료하거나 shutdown API를 호출하여 종료할 수 있습니다.
    curl -XPOST 'http://localhost:9200/_shutdown'
    

    Marvel 및 Sense 보기


    Marvel을 설치하면 브라우저에서 다음 주소로 액세스할 수 있습니다.http://localhost:9200/_plugin/marvel/Marvel에서 dashboards를 누르면 밑에 있는 메뉴에서 Sense 개발자 컨트롤러에 접근하거나 다음 주소를 직접 방문할 수 있습니다.http://localhost:9200/_plugin/marvel/sense/

    좋은 웹페이지 즐겨찾기