ElasticSearch(10) --- 색인 별칭 및 Rollover 스크롤을 사용하여 색인 만들기
4239 단어 elasticsearch
먼저 색인 템플릿을 만듭니다. 색인 템플릿에 정의된 색인 별명은rollover에 사용할 수 없습니다.색인 템플릿의 색인 별칭은 일반적으로 여러 개의 물리적 색인을 가리키기 때문이다.구체적으로 참고할 수 있습니다: 롤러버-failing.여러 개의 물리 색인을 가리키는 색인 별명은 데이터를 쓸 수 없습니다.
PUT _template/pubchat
{
"index_patterns": "pubchat-*",
"settings": {
"index": {
"number_of_shards": "3",
"number_of_replicas": "1",
"routing": {
"allocation": {
"exclude": {
"box_type": "warm"
},
"require": {
"box_type": "hot"
}
}
}
}
},
"mappings": {
"_doc": {
"_source": {
"enabled": true
},
"properties": {
"uid": {
"type": "keyword"
},
"nick": {
"type": "keyword"
},
"chatTime": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
},
"aliases": {
"pubchat-search-alias": {}
}
}
색인 별명pubchat-search-alias는 주로 검색 (읽기 작업) 을 위한 것입니다.두 가지 색인 별명을 구분하는 데 주의해야 한다. 하나는 write index이고, 다른 하나는 read index이며, 구체적으로는 ES Index Alias 공식 문서를 참고할 수 있다.
새 인덱스를 만들고 인덱스 템플릿에 자동으로 명중하며 인덱스pubchat-202001에 검색을 위한 별명을 만듭니다.pubchat-search-alias
#
PUT pubchat-202001
롤오버 (스크롤 쓰기) 를 위한 색인 별명을 지정합니다.색인 별명pubchat-write-alias는 데이터 쓰기를 위한
# rollover
POST _aliases
{
"actions": [
{
"add": {
"index": "pubchat-202001",
"alias": "pubchat-write-alias"
}
}
]
}
rollover 별명pubchat-write-alias는 첫 번째 인덱스를 만들 때 한 번만 지정하면 뒤에 있는pubchat-write-alias는 자동으로 굴러간다:pubchat-2002,pubchat-20203...
rollover 인덱스 별명의 주요 역할은'스크롤 쓰기'이기 때문에 rollover 인덱스 별명은 구체적인 인덱스만 가리킬 수 있습니다.
An alias that points to one and only one index can be used to read and write data. An alias that points to more than one index is read-only.
색인 별칭에 대한 자세한 내용은 공식 문서를 참조하십시오. Write Index
색인에 대한 스크롤 정책을 지정합니다.이것은 테스트의 편의를 위해 색인에서 두 편의 문서를 초과하면 새로운 색인을 생성합니다.
# rollover
POST /pubchat-write-alias/_rollover
{
"conditions": {
"max_docs": 2
}
}
새로 만든 인덱스이기 때문에 데이터가 없기 때문에 다음과 같이 되돌려야 합니다.
{
"acknowledged": false,
"shards_acknowledged": false,
"old_index": ""pubchat-202001",
"new_index": "pubchat-202002",
"rolled_over": false,
"dry_run": false,
"conditions": {
"[max_docs: 2]": false
}
}
마지막으로 롤오버 인덱스 별명인pubchat-write-alias에 데이터를 쓰면 롤오버가 지정한 정책을 충족시킬 때 자동으로 다음 인덱스를 만들 수 있습니다.
#
PUT pubchat-write-alias/_doc/1
{
"uid" : "111",
"nick" : "test"
}
주의해야 할 것은: index.refresh_인터벌 파라미터는 스크롤 정책의 정확성에 영향을 줄 수 있습니다.예를 들어 max_docs 설정 2, refresh_인덱스에 포함된 문서의 수가 두 개보다 많을 수 있습니다.
하나의 예시 설명: 한 달에 하나의 인덱스(pubchat-yyyMM)를 생성하기 위해, 예를 들어pubchat-202001,pubchat-2002,pubchat-20203...
Rollover를 도입한 후에 데이터를 쓰는 것은pubchat-write-alias 인덱스(별명)에 쓰기만 하면 됩니다. 기록된 데이터가 지정한 rollover 정책을 터치하면 자동으로 새로운 인덱스가 생성됩니다. (정의된 인덱스 템플릿과 일치합니다.)
restHighLevelClient.bulkWrite("pubchat-write-alias");
Rollover를 사용하지 않으면 코드 논리에서 데이터를 작성해야 할 때 월별 판단에 따라 색인 이름을 생성합니다.
restHighLevelClient.bulkWrite("pubchat-202001");//1
restHighLevelClient.bulkWrite("pubchat-202002");//2
....
분명히 롤러버가 색인 관리를 간소화했다.또한 ES6.7 버전은 Index LifeCycle Management를 도입하여 인덱스를 더욱 편리하게 관리할 수 있을 것입니다.
원문:https://www.cnblogs.com/hapjin/p/11386965.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka connect e elasticsearch를 관찰할 수 있습니다.No menu lateral do dashboard tem a opção de connectors onde ele mostra todos os clusters do kafka connect conectados atu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.