Feldklassen

Die Klasse Field ist eine abstrakte Basisklasse, die ein Feld eines Dokuments darstellt. Diese Klasse sollte nicht direkt instanziiert werden. Verwenden Sie stattdessen eine der abgeleiteten Klassen, die bestimmte Datentypen darstellen.

Field ist im Modul google.appengine.api.search definiert.

Attribute

Eine Instanz der Klasse Field hat die folgenden Attribute:

Name

Name des Feldes. Muss mit einem Buchstaben beginnen, darf nur Buchstaben, Ziffern und Unterstriche (_) enthalten und höchstens 500 Zeichen lang sein.

Sprache

Sprachcode mit zwei Buchstaben nach ISO 693-1 für den Inhalt des Feldes zur Unterstützung der Vergabe eines Tokens. Beispiel: en bedeutet, dass die Sprache im Feld Englisch ist. Bei None wird der Sprachcode des Dokuments herangezogen.

Wert

Wert des Feldes. Der Datentyp hängt von der jeweiligen abgeleiteten Klasse ab.

Abgeleitete Klassen

Die Klasse Field hat die folgenden abgeleiteten Klassen:

Klasse TextField

Ein Feld, das Text enthält.

Der Wert des Feldes muss ein String oder ein Unicode-String sein. The following example shows a text field named signature with Polish language content:

TextField(name='signature', value='brzydka pogoda', language='pl')

Ausnahmen

TypeError

Der angegebene Wert ist kein Textstring.

ValueError

Der Wert überschreitet die maximal zulässige Länge.

Klasse HtmlField

Ein Feld mit HTML-Inhalt.

Der Wert des Feldes muss ein String oder ein Unicode-String mit dem durchsuchbaren Inhalt des Feldes sein. Das folgende Beispiel zeigt ein HTML-Feld mit dem Namen content:

HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl')

Ausnahmen

TypeError

Der angegebene Wert ist kein Textstring.

ValueError

Der Wert überschreitet die maximal zulässige Länge.

Klasse AtomField

Ein Feld, das Text enthält, der für Indexierungszwecke als unteilbares (atomares) Token behandelt werden soll.

Der Wert des Feldes muss ein String oder ein Unicode-Objekt sein, der bzw. das als unteilbares Token behandelt werden soll. Das folgende Beispiel zeigt ein Atomfeld mit dem Namen contributor:

AtomField(name='contributor', value='foo@bar.com')

Ausnahmen

TypeError

Der angegebene Wert ist kein Textstring.

ValueError

Der Wert überschreitet die maximal zulässige Länge.

Klasse NumberField

Ein Feld, das einen numerischen Wert enthält.

Der Wert des Feldes muss numerisch sein. Das folgende Beispiel zeigt ein Zahlenfeld namens size mit dem Ganzzahlwert 10:

NumberField(name='size', value=10)

Ausnahme

TypeError

Der angegebene Wert ist nicht numerisch.

Klasse DateField

Ein Feld, das einen Datums- oder Datum/Uhrzeit-Wert enthält.

The field's value must be of type datetime.date, or datetime.datetime. In Python können nur "naive" Datums- und Uhrzeitobjekte verwendet werden. "Bewusste" Objekte sind nicht zulässig. The following example shows a date field named creation_date representing the date 21 March 2011:

DateField(name='creation_date', value=datetime.date(2011, 03, 21))

Ausnahme

TypeError

Der angegebene Wert ist weder ein datetime.date noch ein datetime.datetime.

class GeoField

Ein Feld, das einen Wert vom Typ GeoPoint enthält.

Das folgende Beispiel zeigt ein GeoField mit dem Namen place, das einen Standort bei Breitengrad -33,84 und Längengrad 151,26 darstellt:

GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))

Ausnahme

TypeError

Der angegebene Wert ist kein GeoPoint.