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/1
2.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
}
}
]
}
}
결과 반환:
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개의 결과부터 되돌려줍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
_mappings자동으로 인덱스가 생성이 된다. GET books/_mapping DELETE books PUT books/_mapping "type" : "text" text는 역인덱스를 생성하지만 keyword 는 역인덱스를 생...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.