ES 기본 작업 삭제 확인

4111 단어 ES데이터베이스
1. ES 개념
Elasticsearch는 오픈소스 검색 엔진으로 분포식 실시간 파일 저장소로 PB급 구조화 또는 비구조화 데이터를 처리할 수 있으며 간단한 RESTful API를 통해 다양한 조작을 할 수 있습니다.
1.1 Node 및 Cluster
Elastic는 본질적으로 분포식 데이터베이스로 여러 대의 서버가 협동하여 작업할 수 있고 각 서버는 여러 개의 Elastic 실례를 실행할 수 있다.하나의 Elastic 실례를 하나의 노드(node)라고 하는데, 하나의 노드는 하나의 집단(cluster)을 구성한다.
1.2 Index
Index(인덱스), 관계형 데이터베이스에 대응하는 데이터베이스입니다. 인덱스는 소문자여야 합니다.다음 명령을 사용하여 현재 노드의 모든 인덱스를 조회할 수 있습니다. curl -X GET 'http://localhost:9200/_cat/indices?v'인덱스가 생성되지 않았음을 알리는 프롬프트 health status index uuid pri rep docs.count docs.deleted store.size pri.store.size 를 찾습니다.
1.3 type
type, 하나의 논리적 그룹, 나의 이해 type는 하나의 클래스에 해당한다. 이 클래스의 데이터는 모두 이 클래스의 실례이다. 즉, 이 클래스의 데이터 형식은 모두 비슷하다.
1.4 Document
Document(문서)는 코드의 클래스와 유사한 모든 속성을 가진 json 데이터 그룹입니다.예를 들어 { "name": "James", "age": 34 } ES는 문서를 대상으로 하고 코드에서 대상을 대상으로 하는 것과 유사하며 하나의 문서(대상)를 저장합니다.
2. ES 데이터 작업
2.1 데이터 추가 및 업데이트
예를 들어 위의 데이터를 저장해야 하는데 명령은 다음과 같다. curl -H "Content-Type: application/json" -X PUT http://localhost:9200/project/person/1 -d '{"name":"James","age":35}' 그 중에서 프로젝트는 하나의 index(라이브러리에 해당)이고person은 type이며 하나의 클래스(표)에 해당하며 1은 이 문서의 id(표에 있는 데이터의 id)이다.위의 동작을 실행할 때 index, type, id 등이 존재하지 않으면 자동으로 생성되고, 이 id의 데이터가 존재하면 이 데이터를 업데이트합니다.
서버는 다음과 같이 반환됩니다.
{
	"_index": "project",
	"_type": "person",
	"_id": "1",
	"_version": 2,
	"result": "updated",
	"_shards": {
		"total": 2,
		"successful": 1,
		"failed": 0
	},
	"_seq_no": 1,
	"_primary_term": 1
}

서버가 반환하는 JSON 객체는 Index, Type, Id, Version 등의 정보를 제공합니다.그 중에서result의 값은 업데이트d입니다. 이 id의 데이터가 이미 존재하기 때문에 이번에 삽입하면 업데이트입니다.
기록을 추가할 때 Id를 지정하지 않으면 POST 요청으로 바꾸면 임의로 id가 생성됩니다.
2.2 데이터 삭제
데이터 삭제 명령은 다음과 같습니다. curl -X DELETE http://localhost:9200/project/person/12.3 조회 기록
쿼리 명령은 다음과 같습니다. curl http://localhost:9200/project/person/1 뒤에 인자를 추가할 수 있습니다.?pretty=true 는 읽기 쉬운 형식으로 되돌아오는 읽기 쉬운 형식을 다음과 같이 나타냅니다.
{
    
  {
  "_index" : "project",
  "_type" : "person",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 4,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "name" : "James",
    "age" : 35
  }
}

index, type, id가 올바르게 되돌아오지 않으면false입니다.
3, ES의 검색
3.1 모든 데이터 조회
GET 메서드를 사용하여/Index/Type/_ 직접 요청search, 모든 기록을 되돌려줍니다.curl http://localhost:9200/project/person/_search?pretty=true
{
  "took" : 5,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 1,
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "project",
        "_type" : "person",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "name" : "James",
          "age" : 35
        }
      }
    ]
  }
}

결과 반환:
  • took 필드는 이 작업의 소모 시간(밀리초)을 나타냅니다.
  • timed_out 필드는 시간 초과 여부를 표시합니다.
  • hits 필드는 검색된 기록, 그룹 형식을 표시합니다.
  • total: 기록수를 되돌려줍니다. 이 예는 1개입니다.
  • max_score: 가장 높은 일치 정도, 본 예는 1.0입니다.

  • 6.2 기준 질의
    검색 조건이 json이기 때문에 앞에 요청 헤더를 추가해야 합니다. 매개 변수는: {"query": {"match": {"age": 35}}입니다. 모든age가 35인 데이터를 조회하는 것을 의미합니다.curl -H "Content-Type: application/json" http://localhost:9200/project/person/_search?pretty=true -d '{"query":{"match":{"age":35}}}' 기본적으로 10개의 결과를 되돌려줍니다. 사이즈 필드를 통해 이 설정을 변경할 수 있습니다. 매개 변수 {"query":{"match":{"age":35}},"from":10, "size":1} 는 10개의 결과부터 되돌려줍니다.

    좋은 웹페이지 즐겨찾기