630 likes | 660 Views
Oracle TEXT 10g Release 1 New Features. Edwin Balthes Oracle Support Services Oracle Deutschland GmbH. AGENDA. Multilingualer Lexer Multipart Mime Filtering Query Log Analyse – neues Package Progressive Relaxation JDeveloper wizards for text search Near Accum Ctx_Report XML Output
E N D
Oracle TEXT 10g Release 1New Features Edwin Balthes Oracle Support Services Oracle Deutschland GmbH
AGENDA • Multilingualer Lexer • Multipart Mime Filtering • Query Log Analyse – neues Package • Progressive Relaxation JDeveloper wizards for text search • Near Accum • Ctx_Report XML Output • ALTER INDEX rebuild replace metadata
Text 10g Release 1Globalisierung • Unicode Lexer Erweiterung • Japanische Sprachunterstützung • Neue Deutsche Rechtschreibung
Text 10g Release 1Unicode Lexer • Neue Lexer Präferenz – World_Lexer • Support für jede Unicode 4.0 Sprache
Text 10g Release 1Japanische Sprachunterstützung • Delimiter characters • Fuzzy Funktion für das Japanische • Japanisches Stemming • Japanischer Unicode • Japanisches Benutzer Lexikon
Text 10g Release 1Neue Deutsche Rechtschreibung • Alte Schreibweise • Neue Schreibweise
Text 10g Release 1Query Template - Erweiterungen • Query Rewrite • Progressive Relaxation • Spezifikation - Query Language • Alternatives Scoring • Alternative Grammatik <query>…..</query>
Text 10g Release 1Beispiel - Query Rewrite • SELECT * FROM purchaseorders WHERE CONTAINS (text,’<query> • <textquery lang="ENGLISH" grammar="CONTEXT"> Retail Sales • <progression> • <seq><rewrite>transform((TOKENS, "{", "}", " "))</rewrite></seq> • <seq><rewrite>transform((TOKENS, "{", "}", " ; "))</rewrite>/seq> • <seq><rewrite>transform((TOKENS, "{", "}", "AND"))</rewrite></seq> • <seq><rewrite>transform((TOKENS, "{", "}", "ACCUM"))</rewrite></seq> • </progression> • </textquery> • <score datatype="INTEGER" algorithm="COUNT"/> • </query>’)>0;
Text 10g Release 1NEAR_ACCUMulate NEAR_ACCUM((word1, word2,..., wordn) [, max_span [, order]])
Text 10g Release 1Progressive Relaxation select * from purchaseorders where CONTAINS (text,'<query> <textquery lang="ENGLISH" grammar="CONTEXT"> Retail Sales <progression> <seq>{Retail} {Sales}</seq> <seq>{Retail} NEAR {Sales}</seq> <seq>{Retail} AND {Sales}</seq> <seq>{Retail} ACCUM {Sales}</seq> </progression> </textquery> <score datatype="INTEGER" algorithm="COUNT"/> </query>')>0;
Text 10g Release 1Query Templates - Erweiterungen • Multi_Lexer - Query Language select id from docs where CONTAINS (text, '<query><textquery lang="french">bon soir</textquery></query>')>0; • Alternatives Scoring select id from docs where CONTAINS (text, '<query> <textquery grammar="CONTEXT" lang="english"> mustang </textquery> <score datatype="float" algorithm="DEFAULT"/> </query>')>0 • Alternative Grammatik select id from docs where CONTAINS (text, '<query> <textquery grammar="CTXCAT">San Diego</textquery> <score datatype="integer"/> </query>')>0;
Text 10g Release 1CTX_REPORT Package • CTX_REPORT.DESCRIBE_INDEX • CTX_REPORT.DESCRIBE_POLICY • CTX_REPORT.CREATE_INDEX_SCRIPT • CTX_REPORT.CREATE_POLICY_SCRIPT • CTX_REPORT.INDEX_SIZE • CTX_REPORT.INDEX_STATS • CTX_REPORT.TOKEN_INFO • CTX_REPORT.QUERY_LOG_SUMMARY • CTX_REPORT.TOKEN_TYPE
Text 10g Release 1CTX_REPORT - Query Log Analyse • Welche Abfragen wurden gemacht ? • Welche Abfragen waren erfolgreich ? • Welche Abfragen waren nicht erfolgreich ? • WAS wurde WIE HÄUFIG angefragt ?
Text 10g Release 1CTX_REPORT - Query Analyse • Start query logging • End query logging • Query log summary
Text 10g Release 1XML Output - CTX_REPORT Package • SELECT ctx_report.describe_index('DOCS_TEXT','XML') FROM dual; • CTX_REPORT.DESCRIBE_INDEX('DOCS_TEXT','XML') • -------------------------------------------------------------------------------- • <CTXREPORT> • <DESCRIBE_INDEX> • <INDEX_ATTRIBUTES> • <INDEX_ATTRIBUTE NAME="index name"> • "CTXSYS"."DOCS_TEXT" • </INDEX_ATTRIBUTE> • <INDEX_ATTRIBUTE NAME="index id"> • 1392 • </INDEX_ATTRIBUTE> • <INDEX_ATTRIBUTE NAME="index type"> • context • …
Text 10g Release 1Erweiterungen - Dokumenten Services • In 9i wurde für highlight, markup, tokens, filter, gist und markup ein Index benötigt. • Dies geht nun in 10g auch ohne einen Index
Text 10g Release 1Alter Index Rebuild Replace Metadata • Ersetzen der existierenden Präferenz-Settings durch neue Präferenz-Settings • betrifft auch die SYNC Parameter • Kein Neuaufbau des Textindexes • ACHTUNG – eigene Verantwortung für einen konsistenten Index
Text 10g Release 1Erweiterungen - Mail Filtering • Konvertieren einer RFC-2045 Email in ein indizierbares Format • Behandlung der Message Bodies basierend auf dem Content-Type • Text Meldungen werden in den DB Characterset konvertiert • Binärer Text wird gefiltert -> INSO • Andere nicht binäre Daten werden nicht ausgegeben • Benutzerdefinierte Felder sind als Sektionen suchbar
Text 10g Release 1Erweiterungen bei der Indizierung • AUTO und ON COMMIT Synchronisierung für CONTEXT Indizes • Transaktionale CONTEXT Indizes • Automatische Multi-Language Indizierung • Unterstützung für Local Partitioned CONTEXT Indizes in parallel • Binäres Filtern für den MULTI_COLUMN_DATASTORE • Neue XML Output Option für Index Reports
Text 10g Release 1Auto und ON COMMIT Synchronisierung DML Pending Queue DML COMMIT
Text 10g Release 1Index Synchronisierung Global Indexes • CREATE INDEX <index_name> ON<table_name>(<column_name>)INDEXTYPE ISCTXSYS.CONTEXT PARAMETERS('SYNC(MANUAL | • ON COMMIT |EVERY "interval_string" MEMORY size PARALLEL degree'); Local Indexes CREATE INDEX index_name ON table_name(column_name) INDEXTYPE IS CTXSYS.CONTEXT LOCAL(PARTITION part_name1 PARAMETERS(' SYNC(MANUAL |ON COMMIT |EVERY "interval_string" MEMORY size PARALLEL degree'), PARTITION part_name2 PARAMETERS('...'),...) PARAMETERS('...');
Text 10g Release 1Views - Synchronisierung CTX_USER_INDEXES CTX_INDEXES CTX_INDEX_PARTITIONS CTX_USER_INDEX_PARTITIONS
Text 10g Release 1Transaktionale CONTEXT Indizes • SELECT… • CONTAINS(…) DML
Text 10g Release 1CTXXPATH - Erweiterungen • Indizierung von Number und Unterstüzung von numerischen Range Searches • Attribute Existence • Positional Predicate.
Text 10g Release 1INPATH and HASPATH Erweiterungen • Highlighting mit • INPATH • HASPATH
Text 10g Release 1Änderung der Rechte für CTXSYS DBA Privilege
Text 10g Release 1JDeveloper TEXT Wizards • Text Wizard • Classification Wizard • Catalog Wizard
Oracle Ultra Search • Out-of-the-Box search engine • Basiert auf Oracle Text • Suche über intranet/extranet sources • Web, Databases, Files, Mail Servers, Repositories • Verfügt über Web style interface und Java API für UserInterface • Wird mit 9i Database, 9iAS/Portal, Collab. Suite R2/3 ausgeliefert
Crawler Crawler Crawler Crawler Ultra Search Architecture Web Server Query & Admin Capabilities Web Browser Oracle Text SQL Engine Ultra Search Server Ultra Search Mid-Tier Component Ultra Search Client
Mail Crawlet Files Crawlet Calendar Crawlet Mail Files Calendar Crawled Search Architecture Client Mid-tier Search App. Ultra Search Search Repository Meeting Crawlet Web Crawler Meeting Oracle Confidential
Caching Documents WK$DOCUMENT