1. Glosar/

Index CATSEARCH

CATSEARCH index, Oracle Text CATSEARCH

Indexul CATSEARCH este un tip specializat de Oracle Text conceput pentru domenii în care fiecare document conține atribute structurate — expeditor, dată, categorie, stare — alături de text liber care trebuie căutat simultan. În loc să combine un index B-tree pe coloane structurate cu un index full-text separat, CATSEARCH fuzionează ambele dimensiuni într-o singură structură.

Cum funcționează #

Indexul se creează folosind CTXSYS.CTXCAT ca tip de index și acceptă o listă de coloane structurate de inclus în sub-index. Oracle Text construiește intern un catalog care indexează atât token-urile textuale, cât și valorile coloanelor suplimentare.

CREATE INDEX idx_doc_catsearch
ON documente(continut)
INDEXTYPE IS CTXSYS.CTXCAT
PARAMETERS ('CTXCAT_INDEX_SET myindexset');

Interogările folosesc operatorul CATSEARCH în locul clasicului CONTAINS:

SELECT id, titlu
FROM documente
WHERE CATSEARCH(continut, 'factura AND scadenta', 'categorie = ''contabilitate''') > 0;

Predicatul structural (categorie = 'contabilitate') este rezolvat în interiorul indexului, nu ca filtru aplicat după scanare.

Când se folosește #

CATSEARCH este potrivit pentru arhive documentare cu cardinalitate medie-ridicată pe coloanele structurate și interogări care combină sistematic filtre pe atribute cu căutare textuală: sisteme de ticketing, arhive de email, depozite de contracte. Nu este alegerea potrivită pentru căutare full-text pură fără predicate structurale, unde CONTEXT (cu CONTAINS) oferă capabilități lingvistice mai bogate. Sincronizarea indexului necesită atenție: ca toți indexii Oracle Text, CATSEARCH nu se actualizează în timp real fără o politică de sync explicită.