ElasticSearch 학습 노트 (4) - 기본 작업
18983 단어 ElasticSearch
하나.데이터 조작
PUT localhost:9200/accounts/person/1
{
"user": " ",
"title": " ",
"desc": " "
}
서버가 반환하는 JSON 객체는 Index, Type, Id, Version 등의 정보를 제공합니다{
"_index": "accounts",
"_type": "person",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 1
}
자세히 보면 요청 경로가/accounts/person/1이고 마지막 1은 이 기록된 Id입니다.그것은 반드시 숫자가 아니라 임의의 문자열 (예를 들어 abc) 도 가능하다.기록을 추가할 때 Id를 지정하지 않을 수도 있습니다. 이때 POST 요청으로 변경해야 합니다POST localhost:9200/accounts/person
{
"user": " ",
"title": " ",
"desc": " "
}
위 코드에서/accounts/person에 POST 요청을 하고 기록을 추가합니다.서버가 반환하는 JSON 객체에서,_id 필드는 무작위 문자열입니다{
"_index": "accounts",
"_type": "person",
"_id": "3CEKZmUBGSRFZPmXxRma",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"_seq_no": 2,
"_primary_term": 1
}
먼저 Index를 만들지 않고 위의 명령을 실행하면 Elastic도 오류를 보고하지 않고 지정한 Index를 직접 생성합니다.인덱스 이름을 잘못 쓰지 않도록 데이터를 삽입할 때 조심해야 합니다..GET localhost:9200/accounts/person/1?pretty=true
위의 코드는/accounts/person/1 이 기록을 보기를 요청합니다. URL의 매개 변수pretty=true는 읽기 쉬운 형식으로 되돌아옵니다.반환된 데이터 중,_found 필드는 질의가 성공했음을 나타냅니다. __소스 필드는 원본 기록을 되돌려줍니다{
"_index": "accounts",
"_type": "person",
"_id": "1",
"_version": 2,
"found": true,
"_source": {
"user": " ",
"title": " ",
"desc": " "
}
}
Id가 정확하지 않으면 데이터를 찾을 수 없습니다._found 필드는 false..{
"_index": "accounts",
"_type": "person",
"_id": "2",
"found": false
}
DELETE localhost:9200/accounts/person/1
{
"_index": "accounts",
"_type": "person",
"_id": "1",
"_version": 3,
"result": "deleted",
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"_seq_no": 3,
"_primary_term": 1
}
PUT localhost:9200/accounts/person/1
{
"user" : " ",
"title" : " ",
"desc" : " , "
}
데이터를 삽입할 때 데이터가 존재하지 않으면 새 기록이 생성됩니다.반환 값에서result는created로 새 것을 표시합니다{
"_index": "accounts",
"_type": "person",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"_seq_no": 4,
"_primary_term": 1
}
2.데이터 조회
localhost:9200/accounts/person/_search
{
"took": 261,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 1,
"hits": [
{
"_index": "accounts",
"_type": "person",
"_id": "3CEKZmUBGSRFZPmXxRma",
"_score": 1,
"_source": {
"user": " ",
"title": " ",
"desc": " "
}
},
{
"_index": "accounts",
"_type": "person",
"_id": "1",
"_score": 1,
"_source": {
"user": " ",
"title": " ",
"desc": " , "
}
}
]
}
}
위 코드에서 결과를 되돌려주는 took 필드는 이 작업의 소모 시간(밀리초)을 나타냅니다.timed_out 필드는 시간 초과 여부를 나타냅니다. hits 필드는 명중한 기록을 나타냅니다. 하위 필드의 의미는 다음과 같습니다.반환된 레코드 중 각 레코드에는 _score 필드, 일치하는 프로그램을 표시합니다. 기본값은 이 필드의 내림차순으로 배열됩니다
POST localhost:9200/accounts/person/_search
{
"query" : { "match" : { "desc" : " " }}
}
위 코드는 Match 조회를 사용합니다. 지정한 일치 조건은desc 필드에'소프트웨어'라는 단어가 포함되어 있습니다.반환 결과는 다음과 같습니다{
"took": 256,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1.1978253,
"hits": [
{
"_index": "accounts",
"_type": "person",
"_id": "1",
"_score": 1.1978253,
"_source": {
"user": " ",
"title": " ",
"desc": " , "
}
}
]
}
}
Elastic 기본값은 한 번에 10개의 결과를 되돌려줍니다. 크기 필드를 통해 이 설정을 변경할 수 있습니다POST localhost:9200/accounts/person/_search
{
"query" : { "match" : { "desc" : " " }},
"size": 1
}
from 필드를 통해 위치를 지정할 수 있습니다:POST localhost:9200/accounts/person/_search
{
"query" : { "match" : { "desc" : " " }},
"size": 1,
"from": 1
}
위 코드는 위치 1부터 (기본값은 위치 0부터), 결과 하나만 되돌려줍니다이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spring-data-elasticsearch 페이지 조회부록: 1. 이름에서 알 수 있듯이QueryBuilder는 검색 조건, 필터 조건을 구축하는 데 사용되고 SortBuilder는 정렬을 구축하는 데 사용된다. 예를 들어 우리는 어느 위치에서 100미터 범위 내의 모...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.