repoze.pgtextindex è un plugin indicizzazione repoze.catalog che fornisce un motore di ricerca di testo in base alle potenti funzionalità di indicizzazione di testo di PostgreSQL 8.4 e superiori. & Nbsp; E 'progettato per prendere il posto di qualsiasi indice di ricerca di testo basato su Zope. index. L'installazione richiede di solito pochi o nessun cambiamento al codice che utilizza già repoze.catalog.
I vantaggi di repoze.pgtextindex sopra zope.index.text includono:
& Nbsp; * Performance. Per le grandi serie di dati, repoze.pgtextindex può essere ordini di grandezza più veloce di zope.index, soprattutto perché repoze.pgtextindex non ha l'overhead di deserializzazione oggetti che zope.index ha.
& Nbsp; * consumo RAM inferiore. Gli utenti di tutto il lavoro zope.index sovraccarico deserializzazione mantenendo grandi cache di oggetti deserializzato in RAM. Ancora peggio, ogni thread conserva la propria copia della cache degli oggetti. PostgreSQL, d'altra parte, non ha bisogno di mantenere strutture complesse in RAM. La dimensione processo PostgreSQL tende ad essere costante e ragionevole.
& Nbsp; * Manutenzione. Le caratteristiche del testo di indicizzazione di PostgreSQL sono ben documentati e ricevere una grande quantità di manutenzione attiva, mentre zope.index non ha ricevuto molta attenzione sviluppatore per anni.
repoze.pgtextindex non causa PostgreSQL di essere coinvolti in ogni query catalogo e di aggiornamento. Solo le operazioni che utilizzano o modificano l'indice di testo ha colpito PostgreSQL.
Utilizzo:
repoze.pgtextindex è usato come qualsiasi altro indice in repoze.catalog:
da repoze.pgtextindex import PGTextIndex
index = PGTextIndex (
& Nbsp; discriminatore,
& Nbsp; dsn,
& Nbsp; tabella = 'pgtextindex',
& Nbsp; ts_config = 'inglese',
& Nbsp; drop_and_create = True)
Gli argomenti al costruttore sono i seguenti:
discriminatore
& Nbsp; Il discrminator repoze.catalog per questo indice. Per ulteriori informazioni sul discrminators vedere la documentazione repoze.catalog. Questo argomento è obbligatorio.
dsn
& Nbsp; La stringa di connessione per la connessione a PostgreSQL. Questo argomento è obbligatorio.
tavolo
& Nbsp; La tabella da utilizzare per l'indice. Il valore predefinito è 'pgtextindex'.
ts_config
& Nbsp; La configurazione di ricerca testo PostgreSQL da utilizzare per l'indice. Il valore predefinito è 'inglese', che è il default costruito in configurazione che le navi con PostgreSQL. Per ulteriori informazioni sulla configurazione di ricerca testo, consultare il testo completo della documentazione PostgreSQL ricerca.
drop_and_create
& Nbsp; Se vero tavolo e indice di volontà utilizzato sceso (se esiste) e (ri) creato. Il valore predefinito è True
Cosa c'è di nuovo in questa versione:..
- Maniglia aggiornamenti dell'indice simultanei pulito
Cosa c'è di nuovo in versione 0.5:
- Switched leggere isolamento impegnati e rimosso blocco esplicito. Il blocco esplicito è stato ridurre le prestazioni in scrittura e potrebbe essere stato interferire con autovacuum. Questo cambiamento aumenta la probabilità di incoerenza temporanea, ma dato che questo pacchetto non ha fornito conformità ACID comunque, gli sviluppatori già bisogno di essere preparati per incoerenza temporanea.
Cosa c'è di nuovo in versione 0.3:
- fissi PostgreSQL ProgrammingError quando stringa di query contiene un carattere barra rovesciata. (LP # 798.725)
- Aggiunta la possibilità di contrassegnare i contenuti con i marcatori arbitrari che possono essere utilizzati come discriminanti in fase di query. (LP # 792.334)
- Ricerche di supporto per le parole che contengono un apostrofo. (LP # 801.265)
Requisiti :
- Python
I commenti non trovato