Field 클래스는 문서 필드를 나타내는 추상 기본 클래스입니다. 이 클래스는 직접 인스턴스화할 수 없습니다. 대신에 특정 데이터 유형을 나타내는 하위 클래스 중 하나를 사용해야 합니다.
Field은 모듈 google.appengine.api.search에 정의됩니다.
속성
Field 클래스의 인스턴스에는 다음 속성이 있습니다.
- name
- 필드 이름입니다. 문자로 시작해야 하며 문자, 숫자, 밑줄( - _)로만 구성될 수 있고, 500자 이하(영문 기준)여야 합니다.
- 언어
- 토큰화를 지원하기 위한 2자로 된 필드 콘텐츠의 ISO 693-1 언어 코드입니다. 예를 들어, - en은 필드가 영어임을 나타냅니다.- None이면 문서의 언어 코드가 사용됩니다.
- value
- 필드 값입니다. 데이터 유형은 특정 하위 클래스에 따라 달라집니다. 
서브클래스
Field 클래스에는 다음 서브클래스가 있습니다.
- class TextField
- 텍스트가 있는 필드입니다. - 필드 값은 문자열 또는 유니코드 문자열이어야 합니다. 다음 예시에서는 폴란드어 콘텐츠가 포함된 - signature라는 텍스트 필드를 보여줍니다.- TextField(name='signature', value='brzydka pogoda', language='pl') 
- 
      예외 - TypeError
- 제공된 값이 텍스트 문자열이 아닙니다. 
- ValueError
- 값이 최대 허용 길이를 초과합니다. 
 
- class HtmlField
- HTML 콘텐츠가 있는 필드입니다. - 필드 값은 필드의 검색 가능한 콘텐츠를 포함하는 문자열 또는 유니코드 문자열이어야 합니다. 다음 예시에서는 - content라는 HTML 필드를 보여줍니다.- HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl') 
- 
      예외 - TypeError
- 제공된 값이 텍스트 문자열이 아닙니다. 
- ValueError
- 값이 최대 허용 길이를 초과합니다. 
 
- class AtomField
- 색인 생성을 위해 분할할 수 없는(Atom) 토큰으로 취급되는 텍스트가 있는 필드입니다. - 필드 값은 Atom 토큰으로 처리되는 문자열 또는 유니코드 객체여야 합니다. 다음 예시에서는 - contributor라는 Atom 필드를 보여 줍니다.- AtomField(name='contributor', value='foo@bar.com') 
- 
      예외 - TypeError
- 제공된 값이 텍스트 문자열이 아닙니다. 
- ValueError
- 값이 최대 허용 길이를 초과합니다. 
 
- class NumberField
- 숫자 값이 있는 필드입니다. - 필드 값은 숫자여야 합니다. 다음 예시에서는 정수 값이 10인 - size라는 숫자 필드를 보여 줍니다.- NumberField(name='size', value=10) 
- 예외 - TypeError
- 제공된 값이 숫자가 아닙니다. 
 
- class DateField
- 날짜 또는 날짜/시간 값이 있는 필드입니다. - 필드의 값은 - datetime.date또는- datetime.datetime유형이어야 합니다. Python의 '기본' 날짜 및 시간 객체만 사용할 수 있습니다. 'Aware' 객체는 허용되지 않습니다. 다음 예시에서는 2011년 3월 21일을 나타내는- creation_date라는 날짜 필드를 보여줍니다.- DateField(name='creation_date', value=datetime.date(2011, 03, 21)) 
- 예외 - TypeError
- 제공된 값이 - datetime.date또는- datetime.datetime이 아닙니다.
 
- class GeoField
- GeoPoint 값이 있는 필드입니다. - 다음 예시에서는 위도 -33.84도 및 경도 151.26도의 위치를 나타내는 - place라는 GeoField를 보여줍니다.- GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26)) 
- 예외 - TypeError
- 제공된 값이 - GeoPoint가 아닙니다.