xy point 필드 타입

xy point 필드 타입

xy_point 필드 타입은 x, y 좌표로 지정된 2차원 직교(데카르트) 좌표계의 한 점을 담는 필드 타입이에요. Lucene의 XYPoint 필드 타입을 기반으로 하며, geopoint 필드 타입과 비슷하지만 geopoint의 범위 제한이 없습니다.

출처: 문서

본문

2.4 버전에서 도입되었어요.

xy_point 필드 타입은 x, y 좌표로 지정된 2차원 직교 좌표계의 한 점을 담아요. Lucene XYPoint 필드 타입을 기반으로 해요. xy_point 필드 타입은 geopoint 필드 타입과 비슷하지만 geopoint의 범위 제한이 없어요. xy point의 좌표는 단정밀도 부동소수점 값이에요. 부동소수점 값의 범위와 정밀도에 대한 정보는 Numeric field types를 참조하세요.

예시 (Example)

xy_point 필드 타입이 있는 매핑을 생성하세요.

PUT testindex1
{
  "mappings": {
    "properties": {
      "point": {
        "type": "xy_point"
      }
    }
  }
}

형식 (Formats)

xy point는 다음 형식으로 인덱싱할 수 있어요.

  • x, y 좌표를 가진 객체
PUT testindex1/_doc/1
{
  "point": { 
    "x": 0.5,
    "y": 4.5
  }
}
  • "x, y" 형식의 문자열
PUT testindex1/_doc/2
{
  "point": "0.5, 4.5" 
}
  • [x, y] 형식의 배열
PUT testindex1/_doc/3
{
  "point": [0.5, 4.5] 
}
  • "POINT(x y)" 형식의 WKT(Well-Known Text) POINT
PUT testindex1/_doc/4
{
  "point": "POINT (0.5 4.5)"
}
  • GeoJSON 형식
PUT testindex1/_doc/5
{
  "point" : {
    "type" : "Point",
    "coordinates" : [0.5, 4.5]        
  }
}

모든 xy point 형식에서 좌표는 x, y 순서로 지정해야 해요.

파라미터 (Parameters)

다음 표는 xy_point 필드 타입이 받아들이는 파라미터를 나열해요. 모든 파라미터는 선택 사항이에요.

파라미터 설명
ignore_malformed 잘못된 값을 무시하고 예외를 던지지 않을지 여부를 지정하는 Boolean 값. 기본값은 false.
ignore_z_value 좌표가 3개인 점과 관련됨. ignore_z_value가 true이면 세 번째 좌표는 인덱싱되지 않지만 _source 필드에는 여전히 저장돼요. ignore_z_value가 false이면 예외가 던져져요.
null_value null 대신 사용할 값. 필드와 같은 타입이어야 해요. 이 파라미터를 지정하지 않으면 값이 null일 때 필드는 누락으로 처리돼요. 기본값은 null.

더 알아보기 (Learn more)