Elasticsearch 모듈 기능 - 라우팅(routing)

1324 단어 elasticsearch
색인 분할 분배는 색인 분할 분배가 노드에 어떻게 분포되는지 제어할 수 있다. 그러면 구체적인 문서에 대해 구체적인 노드의 분포를 제어할 수 있을까?답은 가능합니다. 루트 공식에 따라shard=hash(routing)%number_of_primary_shards, Elasticsearch는 같은routing 파라미터를 사용하여 이 기능을 실현하지만, 색인을 만들 때 다음과 같이 설정해야 합니다.
"mappings":{
    "doc": {
        "_routing": {
            "required": true,
            "path":"_routing"
        },
        "properties": {
            "title": {
                "type":"string"
            }
        }
    }
}

색인을 만들 때 관련 문서를 조각 아래에 저장하려면 다음과 같이 하십시오.
curl- XPUT localhost: 9200 / documents / doc / 1 - d '
{
    "title": "Document No.1",
    "_routing":"A"
}'
curl- XPUT localhost: 9200 / documents / doc / 2 - d '
{
    "title": "Document No.1",
    "_routing":"A"
}'
curl- XPUT localhost: 9200 / documents / doc / 3 - d '
{
    "title": "Document No.1",
    "_routing":"B"
}'

이렇게 하면 id를 1과 2로 나누는 문서가 통일된 섹션에 존재합니다.
색인 문서를 사용할 때 루트를 사용했기 때문에 조회할 때 이용해야 한다. 조회할 때routing 파라미터를 사용하면 조회를 더욱 효율적으로 할 수 있다. 다음과 같다.
curl-XGET 'localhost:9200/documents/_search?pretty&q=*:*&routing=A'

좋은 웹페이지 즐겨찾기