Elasticsearch 2.20 문서 편:다 중 문서 작업

Elasticsearch 에서 문 서 를 다 루 는 작업 에서 이전에 소 개 된 것 은 모두 하나의 문 서 를 다 루 는 것 입 니 다.사실은 Elasticsearch 는 여러 문 서 를 동시에 다 룰 수 있 습 니 다.다음은 다 중 문서 조 회 를 소개 합 니 다.
다 중 문서 조회
    다 중 문서 조 회 는 같은 인터페이스 에서 여러 개의 문 서 를 조회 할 수 있 습 니 다.각각 index,type,id 를 지정 하여 여러 개의 문 서 를 조회 할 수 있 습 니 다.응답 은 모든 문서 배열 을 포함 하고 모든 요 소 는 구조 적 으로 하나의 문서 조회 와 유사 합 니 다.예 를 들 어:
요청:POST http://localhost:9200/_mget?pretty
인자:
{
    "docs" : [
        {
            "_index" : "secilog",
            "_type" : "log",
            "_id" : "1"
        },
        {
            "_index" : "secilog",
            "_type" : "log",
            "_id" : "2"
        }
    ]
}

결과 되 돌리 기:
{
  "docs" : [ {
    "_index" : "secilog",
    "_type" : "log",
    "_id" : "1",
    "_version" : 3,
    "found" : true,
    "_source" : {
      "collect_type" : "syslog",
      "collect_date" : "2016-01-11T09:32:12",
      "message" : "Failed password for root from 192.168.21.2 port 50790 ssh2"
    }
  }, {
    "_index" : "secilog",
    "_type" : "log",
    "_id" : "2",
    "_version" : 1,
    "found" : true,
    "_source" : {
      "collect_type" : "syslog",
      "collect_date" : "2016-01-12T09:32:12",
      "message" : "secisland mget test!"
    }
  } ]
}

한 번 에 두 개의 문 서 를 조회 한 것 을 알 수 있다.
    검색 할 때 index,type 은 url 에서 직접 작성 할 수 있 습 니 다.예 를 들 어 아래 의 두 가지 요구 와 이전의 것 은 등가 이다.
요청:POST http://localhost:9200/secilog/_mget?pretty
인자:
{
    "docs" : [
        {
            "_type" : "log",
            "_id" : "1"
        },
        {
            "_type" : "log",
            "_id" : "2"
        }
    ]
}

요청:POST http://localhost:9200/secilog/log/_mget?pretty
인자:
{
    "docs" : [
        {
            "_id" : "1"
        },
        {
            "_id" : "2"
        }
    ]
}

이전 한 가지 에 대해 서 는 더욱 간단 한 방식 으로 조회 할 수 있다.
요청:POST http://localhost:9200/secilog/log/_mget?pretty
인자:
{
    "ids" : ["1","2" ]
}

위의 예 를 통 해 알 수 있 듯 이 Elasticsearch 의 다 중 문서 조 회 는 매우 유연 하 다.
type 매개 변수 설명
    다 중 문서 조회 중,type 은 비어 있 는 것 을 허용 합 니 다.비어 있 거나all 시 시스템 은 첫 번 째 조회 결과 와 일치 합 니 다.설정 하지 않 으 면type,많은 파일 이 같은id 일 때 시스템 이 최종 적 으로 얻 은 것 은 첫 번 째 일치 하 는 문서 만 있 습 니 다.예 를 들 면:
요청:POST http://localhost:9200/secilog/_mget?pretty
인자:
{
    "ids" : ["1","2" ]
}

위의 조 회 는 여러 type 중 1,2id 가 있 을 때 시스템 은 첫 번 째 로 찾 은 문서 만 되 돌려 줍 니 다.여러 개 를 원한 다 면 type 을 요청 인자 에서 가 리 켜 야 합 니 다.
    기본 상황 에서source 필드 는 모든 파일 에서 되 돌아 갑 니 다(저장 하면).단일 문서 와 유사 한 조회,url 에서 지정 할 수 있 습 니 다source, _source_include 또는source_exclude 에서 검색 결 과 를 필터 합 니 다.예 를 들 면:
요청:POST http://localhost:9200/secilog/log/_mget?pretty
인자:
{
    "docs" : [
        {
            "_id" : "1",
            "_source" : false
        },
        {
            "_id" : "2",
            "_source" : ["collect_type", "collect_date"]
        }
    ]
}

결과 되 돌리 기:
{
  "docs" : [ {
    "_index" : "secilog",
    "_type" : "log",
    "_id" : "1",
    "_version" : 3,
    "found" : true
  }, {
    "_index" : "secilog",
    "_type" : "log",
    "_id" : "2",
    "_version" : 1,
    "found" : true,
    "_source" : {
      "collect_date" : "2016-01-12T09:32:12",
      "collect_type" : "syslog"
    }
  } ]
}

단일 문서 조회 와 유사 합 니 다.요청 한 url 이나 매개 변수 docs 에서 field,routing 인 자 를 지정 할 수 있 습 니 다.
블록 조작
    빠 른 작업 은 문 서 를 만 들 고 문 서 를 삭제 하 며 문 서 를 수정 하 는 등 인터페이스 에서 문 서 를 처리 할 수 있 습 니 다.블록 조작 방식 으로 여러 문 서 를 조작 하면 시스템 의 효율 을 높 일 수 있다.예 를 들 면:
요청:POST http://localhost:9200/_bulk?pretty
인자:
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "10" } }
{ "field1" : "value1" }
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "13" } }
{ "field1" : "value3" }
{ "delete" : { "_index" : "test", "_type" : "type1", "_id" : "12" } }
}

결과 되 돌리 기:
{
  "took" : 1,
  "errors" : false,
  "items" : [ {
    "index" : {
      "_index" : "test",
      "_type" : "type1",
      "_id" : "10",
      "_version" : 6,
      "_shards" : {
        "total" : 2,
        "successful" : 1,
        "failed" : 0
      },
      "status" : 200
    }
  }, {
    "index" : {
      "_index" : "test",
      "_type" : "type1",
      "_id" : "13",
      "_version" : 1,
      "_shards" : {
        "total" : 2,
        "successful" : 1,
        "failed" : 0
      },
      "status" : 201
    }
  }, {
    "delete" : {
      "_index" : "test",
      "_type" : "type1",
      "_id" : "12",
      "_version" : 2,
      "_shards" : {
        "total" : 2,
        "successful" : 1,
        "failed" : 0
      },
      "status" : 404,
      "found" : false
    }
  } ]
}

    대량 조회 와 유사, /_bulk, /{index}/_bulk, and {index}/{type}/_bulk 이 세 가지 방식 은 모두 실행 할 수 있 습 니 다.요청 한 매개 변수 에 해당 하 는 대응 만 하면 됩 니 다.
 새 크 람 드(secisland)는 이후 Elasticsearch 의 최신 버 전의 각종 기능 을 점차 분석 할 예정 이 니 기대 해 주 십시오.secisland 공식 번호 가입 도 환영 합 니 다.

좋은 웹페이지 즐겨찾기