repoze.pgtextindex є repoze.catalog плагін індексації, яка забезпечує текст пошуку на основі потужного текстового індексування можливостей PostgreSQL 8.4 і вище і NBSP ;. Він призначений, щоб зайняти місце будь-якого індексу, пошуку тексту на основі синца. Індекс. Установка, як правило, потрібно декілька або жодного зміни коду, який вже використовує repoze.catalog.
Переваги repoze.pgtextindex над zope.index.text включають:
І NBSP; * Продуктивність. Для великих наборів даних, repoze.pgtextindex може бути на кілька порядків швидше, ніж zope.index, головним чином тому, repoze.pgtextindex не має накладних витрат unpickling об'єкти, які zope.index має.
І NBSP; * Низьке споживання оперативної пам'яті. Користувачі zope.index роботи навколо unpickling накладних витрат по підтримці великих кешей unpickled об'єктів в оперативній пам'яті. Навіть гірше, кожен потік зберігає свій власний екземпляр кеша об'єктів. PostgreSQL, з іншого боку, не вимагає, щоб підтримувати складні структури в оперативній пам'яті. Розмір процесу PostgreSQL, як правило, постійним і розумно.
І NBSP; * технічне обслуговування. Особливості тексту індексації PostgreSQL добре задокументовані і отримати велику активного обслуговування, в той час як zope.index не отримав багато уваги розробників протягом багатьох років.
repoze.pgtextindex не викликає PostgreSQL взяти участь у кожному каталозі, запити та оновлення. Тільки операції, які використовують або змінити текстовий індекс досяг PostgreSQL.
Застосування:
repoze.pgtextindex використовується так само, як і будь-який інший індекс в repoze.catalog:
від repoze.pgtextindex PGTextIndex імпорту
індекс = PGTextIndex (
І NBSP; діскрімінатор,
І NBSP; DSN,
І NBSP; столу = 'pgtextindex',
І NBSP; ts_config = 'англійська',
І NBSP; drop_and_create = True)
Аргументи конструктора наступним чином:
діскрімінатор
І NBSP; repoze.catalog discrminator за цим показником. Для отримання більш детальної інформації про discrminators зверніться до документації repoze.catalog. Цей аргумент не потрібно.
DSN
І NBSP; рядок підключення для підключення до PostgreSQL. Цей аргумент не потрібно.
стіл
І NBSP; столу, щоб використовувати для індексу. За замовчуванням 'pgtextindex.
ts_config
І NBSP; текстовий конфігураційний пошук PostgreSQL використовувати для індексу. За замовчуванням 'англійська', який є за умовчанням, вбудованої в конфігурації, яка поставляється з PostgreSQL. Для отримання додаткової інформації про конфігурацію текстового пошуку, см пошуку документації повний текст PostgreSQL.
drop_and_create
І NBSP; Якщо Правда таблиця і індекс використовуються воля впав (якщо вона існує) і (пере) створена. За замовчуванням True
Що нового У цьому випуску: ..
- Ручка одночасних оновлень індексу чисто
Що нового у версії 0.5:
- Switched читати скоїв ізоляції і видалити явний блокування. Явне замок був зменшуючи швидкість запису і, можливо, заважаючи автовакуумной. Ця зміна підвищує ймовірність тимчасової невідповідності, але так як цей пакет не забезпечують відповідність ACID будь-якому випадку, розробники вже повинні бути готові для тимчасової невідповідності.
Що нового у версії 0.3:
- Виправлена PostgreSQL ProgrammingError, коли рядок запиту містить знак зворотної косої межі. (LP # 798725)
- Додана можливість помітити контент з будь-яких маркерів, які можуть бути використані в якості діскрімінатора під час запиту. (LP # 792334)
- Підтримка Пошук слів, що містять апостроф. (LP # 801265)
Вимоги
- Python
Коментар не знайдено