repoze.pgtextindex adalah plugin pengindeksan repoze.catalog yang menyediakan mesin pencari berbasis teks pada kemampuan pengindeksan teks kuat PostgreSQL 8.4 dan di atas & nbsp;. Hal ini dirancang untuk mengambil tempat dari setiap indeks pencarian teks berdasarkan zope. indeks. Instalasi biasanya memerlukan sedikit atau tidak ada perubahan pada kode yang sudah menggunakan repoze.catalog.
Keuntungan dari repoze.pgtextindex lebih zope.index.text meliputi:
& Nbsp; * Kinerja. Untuk dataset besar, repoze.pgtextindex dapat lipat lebih cepat daripada zope.index, terutama karena repoze.pgtextindex tidak memiliki overhead unpickling benda yang zope.index memiliki.
& Nbsp; * Konsumsi RAM rendah. Pengguna kerja zope.index sekitar overhead unpickling dengan menjaga cache besar objek unpickled di RAM. Lebih buruk lagi, setiap thread menyimpan salinan sendiri dari cache objek. PostgreSQL, di sisi lain, tidak perlu untuk mempertahankan struktur kompleks dalam RAM. Ukuran Proses PostgreSQL cenderung konstan dan wajar.
& Nbsp; * Pemeliharaan. Fitur pengindeksan teks dari PostgreSQL didokumentasikan dengan baik dan menerima banyak perawatan aktif, sementara zope.index belum menerima banyak pengembang perhatian selama bertahun-tahun.
repoze.pgtextindex tidak menyebabkan PostgreSQL untuk terlibat dalam setiap query katalog dan update. Hanya operasi yang menggunakan atau mengubah indeks teks memukul PostgreSQL.
Penggunaan:
repoze.pgtextindex digunakan sama seperti indeks lainnya di repoze.catalog:
dari repoze.pgtextindex impor PGTextIndex
Indeks = PGTextIndex (
& Nbsp; diskriminator,
& Nbsp; dsn,
& Nbsp; tabel = 'pgtextindex',
& Nbsp; ts_config = 'Inggris',
& Nbsp; drop_and_create = True)
Argumen untuk konstruktor adalah sebagai berikut:
discriminator
& Nbsp; discrminator repoze.catalog untuk indeks ini. Untuk informasi lebih lanjut tentang discrminators lihat dokumentasi repoze.catalog. Argumen ini diperlukan.
dsn
& Nbsp; String koneksi untuk menghubungkan ke PostgreSQL. Argumen ini diperlukan.
tabel
& Nbsp; Tabel digunakan untuk indeks. Standarnya adalah 'pgtextindex'.
ts_config
& Nbsp; The PostgreSQL Konfigurasi pencarian teks digunakan untuk indeks. Standarnya adalah 'Inggris' yang merupakan default dibangun dalam konfigurasi yang kapal dengan PostgreSQL. Untuk informasi lebih lanjut tentang konfigurasi pencarian teks, lihat PostgreSQL teks lengkap dokumentasi pencarian.
drop_and_create
& Nbsp; Jika Benar meja dan indeks yang digunakan akan turun (jika ada) dan (re) dibuat. Default adalah Benar
Apa yang baru dalam rilis ini:..
- Menangani update index bersamaan bersih
Apa yang baru dalam versi 0.5:
- Switched membaca berkomitmen isolasi dan dihapus penguncian eksplisit. Penguncian eksplisit telah mengurangi kinerja menulis dan mungkin telah mengganggu autovacuum. Perubahan ini menimbulkan kemungkinan inkonsistensi sementara, tapi karena paket ini tidak memberikan ACID pula, pengembang sudah perlu dipersiapkan untuk inkonsistensi sementara.
Apa yang baru dalam versi 0.3:
- Tetap PostgreSQL ProgrammingError ketika string kueri mengandung karakter backslash. (LP # 798725)
- Ditambahkan kemampuan untuk menandai konten dengan spidol sewenang-wenang yang dapat digunakan sebagai diskriminator pada saat permintaan. (LP # 792334)
- Dukungan untuk pencarian kata-kata yang mengandung apostrof. (LP # 801265)
Persyaratan :
- Python
Komentar tidak ditemukan