Elasticsearch(019):es 흔히 볼 수 있는 필드 맵 형식의 그룹 형식(arrays)

1652 단어 ElasticSearch
Elasticsearch에는 전용 array 데이터 형식이 없습니다.기본적으로 모든 필드는 0 개 이상의 값을 포함할 수 있지만, 그룹의 모든 값은 같은 데이터 형식을 가져야 합니다.
이 점은 네스티드와 구별되는 네스티드가 가리키는 대상의 집합이다.arrays는 단일 유형의 그룹 집합일 뿐이다.
그 밖에 전문적인 유형 클래스가 그룹 유형을 정의할 필요가 없다.
예:
  • 문자열 그룹["one", "two"]
  • 정수 그룹 [ 1,2]
  • 수조의 수조: [ 1[ 2,3]], 이것은 [ 1,2,3]
  • 에 해당한다
    필드를 동적으로 추가할 때, 그룹의 첫 번째 값은field type을 결정합니다.모든 후속 값은 같은 데이터 형식을 가져야 하거나 최소한 후속 값을 같은 데이터 형식으로 강제로 변환할 수 있어야 한다.이미지 [1, 3, "some word"] 는 혼합 사용을 지원하지 않습니다.
    그룹 형식 맵의 예는 다음과 같다.
    PUT example
    PUT example/docs/_mapping
    {
        "properties": {
            "id":{"type": "long"},
            "name": {"type": "text"},
            "age":{"type":"integer"},
            "hobby": {"type": "text"}
        }
    }
    
    

    주의: 그룹 필드의 정의는array가 아닙니다.
    배열 유형의 객체 추가 예는 다음과 같습니다.
    PUT example/docs/1 
    {
        "id": 111,
        "name":" ",
        "age":22,
        "hobby":[" "," "]
    }
    PUT example/docs/2 
    {
        "id": 222,
        "name":" 2",
        "age":21,
        "hobby":[" 222"," 222"]
    }
    
    

    그룹 유형의 검색 예는 다음과 같습니다.
    # 
    GET example/docs/_search
    {
        "query": {
            "match": {
                "hobby": " "
            }
        }
    }
    #  2 
    
    
    GET example/docs/_search
    {
        "query": {
            "match": {
                "hobby": "22"
            }
        }
    }
    #  1 
    

    좋은 웹페이지 즐겨찾기