Python 2.7 telah mencapai akhir dukungan
dan akan
dihentikan penggunaannya
pada 31 Januari 2026. Setelah penghentian penggunaan, Anda tidak akan dapat men-deploy aplikasi Python 2.7, meskipun organisasi Anda sebelumnya menggunakan kebijakan organisasi untuk mengaktifkan kembali deployment runtime lama. Aplikasi Python 2.7 yang ada akan terus berjalan dan menerima traffic setelah
tanggal penghentiannya. Sebaiknya Anda
bermigrasi ke versi Python terbaru yang didukung.
Class Kolom
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Class Field
adalah class dasar abstrak yang mewakili kolom dokumen. Class ini tidak boleh dibuat instance-nya secara langsung; sebagai gantinya, gunakan salah satu subclass yang mewakili jenis data tertentu.
Field
ditentukan dalam modul google.appengine.api.search
.
Properti
Instance class Field
memiliki properti berikut:
- nama
Nama kolom. Harus diawali dengan huruf, hanya berisi huruf, angka, dan garis bawah (_
), dan tidak lebih dari 500 karakter.
- bahasa
Kode bahasa dua huruf ISO 693-1 untuk konten kolom, untuk membantu dalam tokenisasi. Misalnya, en
menandakan bahwa kolom tersebut adalah bahasa Inggris. Jika None
, kode bahasa dokumen akan digunakan.
- nilai
Nilai kolom. Jenis data bervariasi, bergantung pada subclass tertentu.
Subclass
Class Field
memiliki subclass berikut:
-
class TextField
Kolom yang berisi teks.
Nilai kolom harus berupa string atau string Unicode. Contoh berikut menampilkan kolom teks bernama signature
dengan konten bahasa Polandia:
TextField(name='signature', value='brzydka pogoda', language='pl')
-
Pengecualian
- TypeError
Nilai yang diberikan bukan string teks.
- ValueError
Nilai melebihi panjang maksimum yang diizinkan.
-
class HtmlField
Kolom yang berisi konten HTML.
Nilai kolom harus berupa string atau string Unicode yang berisi konten kolom yang dapat ditelusuri. Contoh berikut menunjukkan kolom HTML bernama content
:
HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl')
-
Pengecualian
- TypeError
Nilai yang diberikan bukan string teks.
- ValueError
Nilai melebihi panjang maksimum yang diizinkan.
-
class AtomField
Kolom yang berisi teks yang akan diperlakukan sebagai token yang tidak terlihat (atomik) untuk tujuan pengindeksan.
Nilai kolom harus berupa string atau objek Unicode agar diperlakukan sebagai token atomik. Contoh berikut menunjukkan kolom atom bernama contributor
:
AtomField(name='contributor', value='foo@bar.com')
-
Pengecualian
- TypeError
Nilai yang diberikan bukan string teks.
- ValueError
Nilai melebihi panjang maksimum yang diizinkan.
-
class NumberField
Kolom yang berisi nilai numerik.
Nilai kolom harus berupa angka. Contoh berikut menampilkan kolom angka bernama size
dengan nilai bilangan bulat 10:
NumberField(name='size', value=10)
Pengecualian
- TypeError
Nilai yang diberikan bukan numerik.
-
class DateField
Kolom yang berisi nilai tanggal atau datetime.
Nilai kolom harus berjenis datetime.date
, atau datetime.datetime
.
Hanya objek tanggal dan waktu Python "naive" yang dapat digunakan. Objek "Aware" tidak diizinkan.
Contoh berikut menunjukkan kolom tanggal bernama creation_date
yang merepresentasikan tanggal 21 Maret 2011:
DateField(name='creation_date', value=datetime.date(2011, 03, 21))
Pengecualian
- TypeError
Nilai yang diberikan bukan datetime.date
atau datetime.datetime
.
-
class GeoField
Kolom yang berisi nilai GeoPoint.
Contoh berikut menampilkan GeoField bernama place
yang mewakili lokasi pada lintang -33,84 derajat dan bujur 151,26 derajat:
GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))
Pengecualian
- TypeError
Nilai yang diberikan bukan GeoPoint
.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-19 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-19 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eField\u003c/code\u003e class is an abstract base class for document fields and should not be directly instantiated; subclasses should be used instead.\u003c/p\u003e\n"],["\u003cp\u003eEach \u003ccode\u003eField\u003c/code\u003e instance has properties for \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003elanguage\u003c/code\u003e, and \u003ccode\u003evalue\u003c/code\u003e, with specific constraints on the \u003ccode\u003ename\u003c/code\u003e format and the \u003ccode\u003evalue\u003c/code\u003e data type.\u003c/p\u003e\n"],["\u003cp\u003eThere are six subclasses of \u003ccode\u003eField\u003c/code\u003e: \u003ccode\u003eTextField\u003c/code\u003e, \u003ccode\u003eHtmlField\u003c/code\u003e, \u003ccode\u003eAtomField\u003c/code\u003e, \u003ccode\u003eNumberField\u003c/code\u003e, \u003ccode\u003eDateField\u003c/code\u003e, and \u003ccode\u003eGeoField\u003c/code\u003e, each designed for different data types like text, HTML, atomic tokens, numbers, dates, and geographic locations, respectively.\u003c/p\u003e\n"],["\u003cp\u003eEach subclass of \u003ccode\u003eField\u003c/code\u003e has specific data type requirements for the \u003ccode\u003evalue\u003c/code\u003e property and will raise a \u003ccode\u003eTypeError\u003c/code\u003e if an incorrect type is provided.\u003c/p\u003e\n"],["\u003cp\u003eThe different subclasses will raise \u003ccode\u003eValueError\u003c/code\u003e exceptions if the \u003ccode\u003evalue\u003c/code\u003e exceeds the maximum allowable length.\u003c/p\u003e\n"]]],[],null,["# Field Classes\n\nClass `Field` is an abstract base class representing a field of a document. This class should not be directly instantiated; instead, use one of the subclasses representing specific data types.\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| python3\n|\n| /services/access). If you are updating to the App Engine Python 3 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/python-differences) to learn about your migration options for legacy bundled services.\n\n`Field` is defined in the module `google.appengine.api.search`.\n\nProperties\n----------\n\nAn instance of class `Field` has the following properties:\n\nname\n\n: Name of the field. Must begin with a letter, contain only letters, digits, and underscores (`_`), and be no longer than 500 characters.\n\nlanguage\n\n: Two-letter [ISO 693-1](http://www.sil.org/iso639-3/codes.asp?order=639_1&letter=%25) language code for the field's content, to assist in tokenization. For example, `en` signifies that the field is English. If `None`, the language code of the document will be used.\n\nvalue\n\n: Value of the field. Data type varies depending on the specific subclass.\n\nSubclasses\n----------\n\nClass `Field` has the following subclasses:\n\n\nclass TextField\n\n: A field containing text.\n\n The field's value must be a string or Unicode string. The following example shows a text field named `signature` with Polish language content: \n\n ```\n TextField(name='signature', value='brzydka pogoda', language='pl')\n ```\n\n: Exceptions\n\n TypeError\n\n : Value supplied is not a text string.\n\n ValueError\n\n : Value exceeds maximum allowable length.\n\n\nclass HtmlField\n\n: A field containing HTML content.\n\n The field's value must be a string or Unicode string containing the searchable content of the field. The following example shows an HTML field named `content`: \n\n ```\n HtmlField(name='content', value='\u003chtml\u003eherbata, kawa\u003c/html\u003e', language='pl')\n ```\n\n: Exceptions\n\n TypeError\n\n : Value supplied is not a text string.\n\n ValueError\n\n : Value exceeds maximum allowable length.\n\n\nclass AtomField\n\n: A field containing text to be treated as an indivisible (atomic) token for indexing purposes.\n\n The field's value must be a string or Unicode object to be treated as an atomic token. The following example shows an atom field named `contributor`: \n\n ```\n AtomField(name='contributor', value='foo@bar.com')\n ```\n\n: Exceptions\n\n TypeError\n\n : Value supplied is not a text string.\n\n ValueError\n\n : Value exceeds maximum allowable length.\n\n\nclass NumberField\n\n: A field containing a numeric value.\n\n The field's value must be numeric. The following example shows a number field named `size` with integer value 10: \n\n ```\n NumberField(name='size', value=10)\n ```\n\n: **Exception**\n\n TypeError\n\n : Value supplied is not numeric.\n\n\nclass DateField\n\n: A field containing a date or datetime value.\n\n The field's value must be of type `datetime.date`, or `datetime.datetime`.\n Only Python [\"naive\"](https://docs.python.org/2/library/datetime.html) date and time objects can be used. \"Aware\" objects are not allowed.\n The following example shows a date field named `creation_date` representing the date 21 March 2011: \n\n ```\n DateField(name='creation_date', value=datetime.date(2011, 03, 21))\n ```\n\n:\n\n **Exception**\n\n TypeError\n\n : Value supplied is not a `datetime.date` or a `datetime.datetime`.\n\n\nclass GeoField\n\n: A field containing a [GeoPoint](/appengine/docs/legacy/standard/python/search/geopointclass) value.\n\n The following example shows a GeoField named `place` representing a location at -33.84 degrees latitude and 151.26 degrees longitude: \n\n ```\n GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))\n ```\n\n:\n\n **Exception**\n\n TypeError\n\n : Value supplied is not a [GeoPoint](/appengine/docs/legacy/standard/python/search/geopointclass)."]]