필드 클래스

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가 아닙니다.