630 likes | 665 Views
Explore the latest advancements in Oracle Text 10g Release 1 including multilingual capabilities, mime filtering, query log analysis, and more. Embrace globalization with Unicode lexer enhancements, Japanese language support, and updated German spelling. Discover advanced search features like progressive relaxation, query rewrite, and flexible query templates.
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