Oracle: locul de muncă este foarte simplu documente de tip text
Oracle Text are o oportunitate de full-time, Oracle stocate împreună cu datele uzuale în documentele de bază de date comună, și de a construi interogări cu privire la aceste documente, precum și la fișierele stocate în sistemul de operare sau de pe internet. Documentele pot fi prezentate în diferite formate. Considerat de a lucra cu Oracle Text bazat pe utilizarea de text CTXSYS.CONTEXT indice de tip și CONȚINE operatorului.
Oracle Database este cunoscut în primul rând ca un sistem de gestionare a datelor „factographic“, dar prima jumătate a anilor '90 a început să apară posibilitatea de a stoca și manipula „aranjate“ dificile de date. Unul dintre primele astfel de oportunitate a fost munca în versiunea 7.3, cu o semi-structurate de date: documente de tip text.
Pentru această zi posibilitatea de a lucra cu documente de tip text în Oracle a schimbat numele de mai multe ori (SQL * TextRetrieval -> Textul server -> Oracle ConTEXT -> Oracle Text) și a evoluat în mod semnificativ. Începând cu versiunea 9, este construit în alimentarea normală a bazei de date Oracle, nu are nevoie, ca și mai înainte, o licență separată și inclusă automat într-o bază de date standard. În lipsa acestei caracteristici în baza de date pot fi instalate independent sau cu ajutorul DBCA, sau a alerga de dr0inst.sql script-ul (versiunea 9 și versiunile anterioare), sau catctx.sql (versiunea 10), în [ORACLE_HOME] / CTX / admin.
capabilități Oracle Text uz intern, cum ar fi Oracle Ultra Search, de gestionare a conținutului (anterior iFS) sau DB XML.
capabilități text de baze de date Oracle, bazate pe utilizarea unui tip special de indice, care este una dintre versiunile încorporate ale indicelui „obiectiv“ (indicele de domeniu), utilizat pentru organizarea lucrului cu greu aranjate de date. Oracle Text are un gata făcute trei tipuri de indicele de text:- CTXSYS.CONTEXT - pentru a efectua o căutare full-text pentru documente text;
- CTXSYS.CTXCAT - să efectueze o procedură simplificată și accelerată de căutare pentru „director“ (descrieri de text una sau două linii);
- CTXSYS.CTXRULE - pentru construirea unei „clasificare“ a documentelor, în ciuda faptului că clasa este descrisă printr-un set de cereri specifice.
caracteristici generale ale soiurilor cele mai populare indicele CTXSYS.CONTEXT discutat aici. Acest tip de indice de text vă permite să stocați documente de tip text într-o bază de date, și de a efectua căutări în textul integral la documente atât de stocare internă și externă (sistem de fișiere, Internet).
Pentru comoditate, creați un utilizator de construcții:
Rolurile CONNECT și de resurse CTX atribuită utilizatorului pentru simplitate de exemplu, și să le utilizeze în mod corect în PB de lucru; rol ca CTXAPP mănâncă, în esență, așa cum fără ea polzovattel CTX nu putea avea acces la facilitățile necesare schema CTXSYS. Finalizat:
Notă: indicele DOCS_VC2DOC_IDX - nu simplu, ci „aplicat» (domeniu); să fie exact - predefinite CTXSYS.CONTEXT de tip, și anume "Text". În general, crearea unui astfel de indice conține desemnarea unui număr de opțiuni speciale (exemple sunt mai jos), dar pentru prima cunoștință mai degrabă să se bazeze pe anumite caracteristici implicite.
Baza pentru cererile la documentele privind tipul de index CTXSYS.CONTEXT este „operator» CONȚINE. Conform utilizării sale declarația Oracle SQL este practic identic cu funcția. CONȚINE operatorul returnează o măsură, în caz contrar, gradul de conformitate al interogării textul documentului ( «relevanța»).
Câteva exemple explicative. Mod de preparare:
Vă rugăm să rețineți că gradul de conformitate cu solicitarea de document nu este un simplu frecvența de utilizare a cuvintelor într-un document. De asemenea, depinde de numărul total al documentelor solicitate și numărul de documente, care este necesare forme de cuvinte. Calcularea sa se bazează pe o formulă Oracle Salton. Rezultatul care dă formula afișată în intervalul întreg cuprins între 0 și 100.
Următoarele sunt câteva exemple, efectuate în mod independent, va ajuta la clarificarea CONȚINE comportamentul operatorului și a obține o idee a unora dintre capacitățile suplimentare ale contextului interogare:
O listă și o descriere completă realizovanna operatorilor de a compila contextul interogare pe documentele (numit „operator“ este prost coincide cu numele de „operator“ CONȚINE funcția în sine) este disponibilă în documentația Oracle.
În practică, utilizarea de referință la CONȚINE în expresiile pentru formarea coloanelor din clauza SELECT nu este întotdeauna convenabil și nu promovează eficiența. Forțată în acest sens, măsura - folosind o funcție ( „operator») SCOR, returnează același rezultat ca și CONȚINE, dar care poate fi repetată de mai multe ori în interogare, fără teama de calcul în jos lent. Cu toate acestea, deoarece conține operatorul în interogarea poate avea loc puține, a inventat o tehnica speciala de numeric „Tag“, SCOR corespunzătoare și CONȚINE operatori într-o interogare SQL. Etichetele sunt specificate ca un parametru operatori (altul forțat și nu foarte elegant măsură) și selectate în mod aleatoriu. Exemple de tehnica:
Aproape de prelucrare a informațiilor de text în textul Oracle oferă indicele de text. Informal el organizează de stocare „listă inversat“, care, în conformitate cu termenul de căutare prezentate produce o listă de perechi <документ, словоместо>. Pentru aceasta, el ține o listă de documente, documente de poziție și forme de cuvinte într-una sau mai multe dintre cuvintele indexate în fiecare poziție.
Punct de vedere tehnic, indicele de text este mai complex indexurile B-arbori convenționale, sau cel puțin la nivel de bit, care este pus în aplicare odată ce un grup de obiecte și un grup de structuri de stocare. Este ușor de a face:
EXEMPLUL emitent din tabelul de DR $ DOCS_VC2DOC_IDX $ I:
O altă diferență față de indicele de text obișnuit că nu este corect în mod automat atunci când editarea unui document. De exemplu:
Din cauza informațiilor greoaie indexa text despre patch-urile necesare sunt colectate într-un tabel separat, și edita în sine este realizată manual, după cum este necesar:
(Sincronizarea index și puteți modifica comanda INDEX, dar acum Oracle nu recomanda aceasta companie).
recepție Standard - pentru a crea un loc de muncă pentru ajustarea planificată a indicelui de text programate.
Stângăcie (parțial forțat) editări indicele de text compensate de circulația de mare viteză atunci când acesta interogarea bazei de date. Cu toate acestea, uitam de planul de interogare este necesară în acest caz inițial. comandă normală EXPLICAȚI PLAN mulți nu vor, dar referirea la textul ( „Application“) index, ea a remarcat:
(Forma planului de 10 emitent corespunde versiunii la care materialul pregătit).
Detalii despre miniere de text (nu SQL) interogare observate printr-o masă specială, în loc de PLAN_TABLE obișnuit. Creați poate fi ceva de genul: