ElasticSearch 자주 사용하는 작업: 색인편
6783 단어 Elasticsearch색인
0 설명
es5.4와 5.6을 바탕으로 두 자료를 참고하여, 와 공식 문서
https://www.elastic.co/guide/en/elasticsearch/reference/5.4/indices.html(공식 문서는 상당히 훌륭해서 놓칠 수 없다!).
1 색인 만들기
PUT my_index
Note1: 색인에는 대문자가 있을 수 없습니다.
Note2:es는 기본적으로 색인에 5개의 조각 1개의 복사본을 설정합니다.
NOte3: 인덱스 조각수는 지정된 후에 수정할 수 없지만 복사본수는 명령을 통해 수시로 수정할 수 있습니다.
settings 구성을 추가할 수 있습니다.
PUT my_index
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
}
}
2 색인 복사본 업데이트
PUT my_index/_settings
{
"number_of_replicas": 2
}
3 읽기 및 쓰기 권한 설정
권한 매개변수는 다음과 같습니다.
매개변수 설정
설명
blocks.read_only:true
true를 설정할 때, 현재 인덱스는 읽기만 허용하고, 쓰기나 업데이트는 허용하지 않습니다.
blocks.read:true
true일 때 현재 인덱스 읽기 금지
blocks.write:true
true일 때 현재 색인에 대한 쓰기 금지
예를 들어 사용자가 쓰기 작업을 금지하는 경우:
PUT my_index/_settings
{
"blocks.write": true
}
데이터를 다시 쓸 때 403 오류가 되돌아옵니다.
쓰기 작업 재개:
PUT my_index/_settings
{
"blocks.write": false
}
4 색인 보기
GET my_index/_mapping
반환 결과:
{
"my_index": {
"mappings": {
"my_type": {
"properties": {
"title": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}
여러 인덱스의 setting 정보를 동시에 보려면 다음과 같이 하십시오.
GET my_index,my_index2/_mapping
클러스터의 모든 색인에 대한 setting 정보를 보려면 다음과 같이 하십시오.
GET _all/_settings
5 색인 삭제
DELETE my_index
삭제된 색인이 존재하지 않으면 색인에 이상이 발견되지 않았습니다.
6 인덱스 열기 및 닫기
색인이 닫힌 후에는 시스템 자원을 거의 차지하지 않습니다.
POST my_index/_close
여러 인덱스 닫기:
POST my_index,my_index2/_close
게다가 ignore_unavailable 매개 변수:
POST my_index,my_index2,my_index3/_close?ignore_unavailable=true
my_index3는 존재하지 않습니다. ignore_를 추가하지 않으면unavailable 매개 변수는 인덱스를 던져 오류가 없습니다.
클러스터의 모든 인덱스를 닫으려면 다음과 같이 하십시오.
POST _all/_close
인덱스를 와일드카드 방식으로 닫고 test로 시작하는 인덱스를 닫습니다.
POST test*/_close
7 색인 복사
POST _reindex
{
"source":{"index":"my_index"},
"dest":{"index":"my_index3"}
}
Note1: 대상 색인은 소스 색인에서 구성 정보를 복사하지 않습니다._redinx 작업 전에 목표 인덱스의 편수, 복사본 수 등 정보를 설정해야 합니다. 설정이 없거나 my_가 존재하지 않습니다.index3, 그러면 색인을 새로 만들고 기본 설정 정보를 사용합니다.
Note2:_reindex는 실제로 색인 문서를 복사하는 데 사용되기 때문에 my_index에 문서가 없으면 my_를 새로 만들지 않습니다index3의;
소스에 type과query를 추가하여 복사된 문서를 제한할 수 있습니다.
POST _reindex
{
"source":{
"index":"my_index",
"type":"my_type",
"query":{
"term":{"title":"elasticsearch"}
}
},
"dest":{"index":"my_index3"}
}
8 수축 인덱스
공식 문서 참조:https://www.elastic.co/guide/en/elasticsearch/reference/5.4/indices-shrink-index.html, 아주 상세해요.
The shrink index API allows you to shrink an existing index into a new index with fewer primary shards. The requested number of primary shards in the target index must be a factor of the number of shards in the source index. For example an index with
8
primary shards can be shrunk into 4
, 2
or 1
primary shards or an index with 15
primary shards can be shrunk into 5
, 3
or 1
. If the number of shards in the index is a prime number it can only be shrunk into a single primary shard. Before shrinking, a (primary or replica) copy of every shard in the index must be present on the same node. Shrinking works as follows:
색인 축소 전 준비:
PUT /my_source_index/_settings
{
"settings": {
"index.routing.allocation.require._name": "shrink_node_name",
"index.blocks.write": true
}
}
색인 축소:
POST my_source_index/_shrink/my_target_index
추가 구성 정보를 추가할 수도 있습니다.
POST my_source_index/_shrink/my_target_index
{
"settings": {
"index.number_of_replicas": 1,
"index.number_of_shards": 1,
"index.codec": "best_compression"
},
"aliases": {
"my_search_indices": {}
}
}
잘 이해하지 못하면 위에서 제공한 공식 문서 링크를 잘 읽어야 한다.
9 색인 별칭
색인 별칭을 만들려면 다음과 같이 하십시오.
POST _aliases
{
"actions": [
{
"add": {
"index": "test1",
"alias": "alias1"
}
}
]
}
색인 별칭을 제거하려면 다음과 같이 하십시오.
POST _aliases
{
"actions": [
{
"remove": {
"index": "test1",
"alias": "alias1"
}
}
]
}
Note1: 하나의 인덱스는 여러 개의 별명을 가질 수 있고, 한 개의 별명도 여러 개의 인덱스에 대응할 수 있다(여러 번 사용하면 된다).
Note2: 별명과 인덱스가 일대일이라면 별명 인덱스를 사용하거나 ID에 따라 문서를 조회할 수 있지만, 별명과 인덱스가 일대일이라면 별명을 사용하는 데 오류가 발생할 수 있습니다. 왜냐하면 Elasticsearch는 문서를 어떤 인덱스에 쓰거나 어떤 인덱스에서 문서를 읽는지 모르기 때문입니다.
색인 별칭을 보려면 다음과 같이 하십시오.
GET my_index3/_aliases
:
{
"my_index3": {
"aliases": {
"alias_test": {},
"alias_test2": {}
}
}
}
별칭에 해당하는 색인을 보려면 다음과 같이 하십시오.
GET alias_test/_aliases
:
{
"my_index3": {
"aliases": {
"alias_test": {},
"alias_test2": {}
}
},
"my_index2": {
"aliases": {
"alias_test": {}
}
},
"my_index": {
"aliases": {
"alias_test": {}
}
}
}
클러스터에서 사용 가능한 모든 별칭을 보려면 다음과 같이 하십시오.
GET _all/_aliases
GET _aliases
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Embulk를 사용하여 ElasticCloud로 보내기Embulk에서 ElasticCloud에 보낼 수 있을까라고 생각비망록도 겸해 기술을 남깁니다 Embulk 설치 ElasticCloud (14 일 체험판) brew라면 아래 명령 입력 파일 만들기 파일 내용 seed...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.