Ultra search


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Ultra search

  1. 1. Oracle Ultra SearchArchitectureVersion 10.1 for Oracle10g Database Release 1Version 9.0.3 for Oracle Collaboration SuiteRelease 2 and Oracle 10g Application ServerVersion 10gJanuary 1994
  2. 2. Oracle Ultra SearchExecutive Summary.......................................................................... 31. Introduction.................................................................................. 32. Ultra Search for Enterprise Information and Content ................ 43. Ultra Search ARCHITECTURE...................................................... 7 3.1.1 The Ultra Search Crawler Component ......................... 10 3.1.2 Extensible Crawler API.................................................. 11 3.1.3 The Ultra Search Query API and Query Application .. 12 3.1.4 The Ultra Search Administration Component .............. 13 3.1.5 The Java email API ........................................................ 14 3.1.6 The Display URL Mechanism........................................ 14 3.2 Ultra Search Methodology ................................................... 15 3.2.1 The Gather Step............................................................. 15 3.2.2 The Analyze Step........................................................... 16 3.2.3 Making Crawling Results Searchable............................ 17 3.2.4 The Maintain Step.......................................................... 184. Comprehensive Security Support.............................................. 195. Federated Search - Search Once, Find Everything................... 206. Ultra Search in Oracle10g Application Server .......................... 21 6.1 New Search Portlets ............................................................. 21 6.2 New Portal Data Source....................................................... 22 6.3 Single Sign-On Authentication............................................. 237. Ultra Search in Oracle Collaboration Suite ............................... 238. Summary..................................................................................... 24 Oracle Ultra Search: Architecture Page 2
  3. 3. Oracle Ultra Search EXECUTIVE SUMMARYThe proliferation of Oracle Ultra Search is an out-of-the-box search solution that providesinformation has causedchaos inside firewalls, and search across multiple repositories - Oracle databases, IMAP mail servers,the resulting difficulty in HTML documents served up by a Web server, files on disk and manylocating information iscausing inefficiencies, and more. Ultra Search enables a ‘Portal’ search across the content assets of aexpense. corporation, bringing to bear Oracle’s core capabilities of scalability and reliability. Ultra Search is released, at no additional license cost, with multiple Oracle product lines: Oracle10g database, Oracle10g Application Server and Oracle Collaboration Suite. This paper gives IT managers and architects an understanding of Ultra Search - its architecture, its main features, its interfaces, its integration with Oracle’s Application Server and Collaboration Suite product lines, and the configurations available for its deployment. 1. INTRODUCTION In the age of the Internet, proliferation of information is causing a new information management crisis for enterprises. Using the World Wide Web, workers become their own information retrieval experts. But searching for the right answers can be more than frustrating: • Studies predict that by 2006 the amount of information flowing over corporate Intranets will be 200 times what is was in 1998. • This information is ultimately stored in corporate databases, Web pages, files in various popular document formats and in email or groupware systems. The information that businesses produce, store and use for decision making is scattered across billions of documents and data fragments that reside on many different, and often incompatible, IT servers and systems. Servers are located throughout the country and across the globe. • Corporate information is distributed across enterprises in both structured and unstructured form - structured relational databases, unstructured Word-processing documents, spreadsheets, presentations. • As applications demand transactional consistency, coordinated multi- user access, administration and maintenance for content, a natural gradient is created to move more and more information into Oracle Ultra Search: Architecture Page 3
  4. 4. databases. However, even when multiple databases are involved, searching across databases needs a robust solution. According to some estimates, the lost time in searching costs companies billions of dollars in lost productivity each year. Bad search can also drive customers to competitors Web sites. A company can have great products and a terrific looking Web site, but if customers and employees can’t find the information they are looking for, they have essentially wasted time and money spent on development and promotion. Oracle Ultra Search solves the problem of finding relevant information across your company’s many disparate repositories of information. Ultra Search is an out-of-the-box application built on Oracle10g and its proven Text technology that provides uniform search-and-locate capabilities over multiple repositories – Oracle databases, other ODBC compliant databases, IMAP mail servers, HTML documents served up by a Web server, files on disk and many more. Ultra Search uses a ‘crawler’ to index documents; the documents stay in their own repositories, and the crawled information is used to build an index that stays within your firewall in a designated Oracle10g database. Ultra Search thus enables a ‘Portal’ search across the content assets of a corporation without the need for rearchitecting IT topologies, compromising security, or programming against hard-to-use API’s. 2. ULTRA SEARCH FOR ENTERPRISE INFORMATION AND CONTENT Oracle Ultra Search is an out-of-the-box search solution that:Oracle Ultra Search is a multi-repository search solutionthat leverages the award- 1. Searches text across multiple repositories – Multiple databases, HTMLwinning search quality of Web pages, Files, IMAP mail servers - and organizes and categorizesOracle Text. the content. 2. Provides the best relevance ranking and globalization support in the industry. 3. Provides value added Portal functionality – crawling, fielded search and metadata extraction. 4. Presents a Web-style interface where users can specify, for example, to indicate “Oracle +Location -France” to indicate they want to retrieve all documents, database records or email containing the terms Oracle and Location, but not the term France. Enterprises can benefit by using Ultra Search in many different types of applications: 1. Portal Search – Ultra Search offers the most powerful search for Enterprise Portals developed with the Oracle Enterprise Portal Framework. Oracle10g Application Server (Oracle 10gAS) Portal Oracle Ultra Search: Architecture Page 4
  5. 5. customers can use Ultra Search through a ‘Portlet’ (a portlet is a contained area of Portal page that can be rendered in HTML or any other browser-capable technology). The Ultra Search Portlet provides crawling and universal search over all Ultra Search-supported repositories, including the ability to search the contents of Oracle 10gAS Portal. For organizations who want to build their own portal from scratch, Ultra Search provides a canned, end-user-oriented, web-style search over various corporate databases, HTML pages, IMAP email servers, or filesystem documents. You can either use the ‘default’ user-interfaces as supplied, or ‘embed’ Ultra Search in your portal, customizing the look-and-feel to your requirements. Ultra-search also allows you to customize metadata according to the different repositories, and search according to different metadata elements from different repositories.2. Crawled Search for Collaborative Content - Ultra Search is shipped and integrated with Oracle Collaboration Suite - it provides crawled Web Search to the Collaboration Suite search application and can also be deployed as a standalone search engine.3. Web Search for Oracle Text – Ultra Search is an application built on Oracle Text, Oracle’s industry leading text retrieval engine. It provides Oracle Text customers with Web-style searching capabilities without the need for any low-level SQL programming. A significant amount of expertise has gone into translating and tuning web-style queries into underlying SQL-based Oracle Text queries. Ultra Search helps Oracle Text users start that much ahead, for example database applications needing a simple Text search component will find Ultra Search admirably integrated with the Oracle infrastructure.4. Library or Archive Search -- Many organizations with digital libraries, information warehouses or centralized repositories are seeking to convert custom search applications over such repositories to more general, web-based ones. A Library search differs from a Portal search in that the latter seeks a simple search over many dynamically changing sources, whereas the former needs more advanced search over a fewer number of relatively well-defined sources. Ultra Search provides such lower-level API and linguistic access to meet the needs of advanced knowledge workers.5. Content Management Search –. Media organizations creating or publishing content in a collaborative manner need to search across content (Web pages, documents) as it moves through multiple repositories in different stages of the content-management life cycle: from the desktop file of the author to the staged version in a database. Use Ultra Search to build a better search and retrieval system for your documents by integrating Ultra Search with your Oracle Ultra Search: Architecture Page 5
  6. 6. company’s own collaborative content management or document management process. Ultra Search provides both full-text and fielded text retrieval to create a set of indexes tuned for keeping track of your content.Search can be improved if it can be narrowed down what part of a‘document’ a piece of information occurs in - the title, the body, the nameof the author and so on. For example, search results for ‘London’ differwhen you look for an author name, versus a title. Generally, differentrepositories have different such ‘metadata’ attributes that may be attractivefor searching against - databases identify columns and email servers knowheader/body/attachment.A flexible metadata mapping methodology that lets you unify diverserepositories in common logical terms for search purposes is one of thebig value-adds of Ultra Search. In order to display a uniform set of resultsranked by overall relevance, Ultra Search allows customers to normalizeor map the various metadata attributes from various repositories.The screen shot below shows an example of querying over multiplerepositories: A corporate email archive and a database (labeled ‘ServerTechnologies’). The query is narrowed by metadata fields that have beendefined to map against both repositories: • ‘Title’ maps against the subject line in emails or against a fielded text column in the database. • ‘Author’ maps against the sender of an email.Figure 1: Oracle Ultra Search Query Example.The next section takes a look at Ultra Search architecture, followed bydetailed looks at the important aspects of its functionality. Oracle Ultra Search: Architecture Page 6
  7. 7. 3. ULTRA SEARCH ARCHITECTUREUltra Search builds on the Ultra Search integrates proven technologies in Oracle10g in a simple yetOracle platform, using robust architecture. Ultra Search is entirely an Oracle Text basedexisting and proven publicinterfaces. application, built using the same public interfaces that are available to users of Oracle Text, but enhanced with considerable expertise in aggregating information for indexing, translating queries for the best quality search, and optimizing operations for scalability. Oracle Text, in its turn, builds on the Oracle10g infrastructure using public interfaces such as SQL and the Oracle Extensibility Architecture ODCI interfaces. Few search engines can search databases effectively, handicapping them for dynamic data. Oracle Text is highly integrated with the Oracle database for best interoperability with dynamic data. One key strength of Ultra Search is it ability to serve search for database-backed web-sites, applications, archives, or content-bases located in a single database or spread across multiple databases. Ultra Search is a client program to the Oracle server at run time. It can be deployed in two configurations – in the server tier or the mid-tier. Database Foreign Web Datasource Browser Tables HTTP Documents ODBC SQL Documents Documents Pages Crawling Query UltraSearch Web Server Crawler 1 SQL Documents PL/SQL Crawler Temp Workspace Oracle Transparent Gateway Query API 3 Server Component 2 Oracle 9i Server Oracle Text Ultra Search Repository Data Figure 2: Ultra Search Architecture Ultra Search is made up of five distinct components: 1. Ultra Search Crawler -- The Ultra Search Crawler is a Java process activated by your Oracle server according to a set schedule. When activated, the Crawler spawns a configurable number of processor Oracle Ultra Search: Architecture Page 7
  8. 8. threads that fetch documents from various data sources and index them using Oracle Text. This index can then be used for querying. The crawler maps link relationships and analyzes them to avoid going in circles and taking wrong turns. The Crawler schedule is integrated with and driven from the DBMS Job queue mechanism. Whenever the Crawler encounters embedded, non-HTML documents during the crawling it uses the Oracle Text filters to automatically detect the document type and to filter and index the document. See section 3 for more details on supported document types and the filtering process.2. Ultra Search Server Component -- The Ultra Search Server Component consists of a Ultra Search repository, and Oracle Text. Oracle Text provides the text indexing and search capabilities required to index and query data retrieved from your data sources such web sites, files, and database tables. This component is not visible to users ; it operates as a “black box” that indexes information from the Crawler and serves up the query results.3. Query API & Query Application -- Ultra Search provides a Java API for querying indexed data. The API returns data with and without HTML markup. The HTML markup can help you build the following search engine web interfaces: Basic Search Form, Advanced Search Form, Query Result Display, Help Page, Feedback Page, Register URL. The Java APIs use JDBC connection pooling for scalability. Ultra Search includes a highly functional query application for users to query and display search results. The query application is based on Java Server Pages (JSP) and will work with any JSP1.0 compliant engine.4. Ultra Search Administration Tool and Interface – The Administration Tool is a Java Server Page (JSP) web application you use to configure and schedule the Ultra Search crawler. The administration tool is typically installed on the same machine as your Web server. You can access the Administration Tool from any browser within your intranet. The Administration Tool is independent from the Ultra Search Query Application. Therefore, the Administration Tool and Query Application can be hosted on different machines to enhance security and scalability.5. JAVA email API -- Ultra Search provides Java APIs for accessing archived emails. These APIs are used by the Ultra Search Query Application to display emails. These APIs may also be used when building your own custom query application.The Ultra Search default query interface and the administration tool run inany HTML browser client. The administration tool relies on certain Javaclasses in the mid-tier. This logical ‘mid-tier’ can be the same physical Oracle Ultra Search: Architecture Page 8
  9. 9. machine as the one that runs the database server, or a different one,running Oracle10g AS. Finally the Ultra Search database server componentconsists of the Ultra Search data dictionary that stores metadata on all thedifferent repositories, as well as the schedules and Java classes needed todrive the crawler. The crawler itself can run either on the database servermachine or remotely on another machine.The distribution of Ultra Search components is shown in Figure 3. Figure 3: Overview of Ultra Search Components Oracle Ultra Search: Architecture Page 9
  10. 10. 3.1.1 The Ultra Search Crawler ComponentThe Oracle Ultra Search crawler is a multi-threaded Java applicationresponsible for gathering documents from the data sources you specifyduring configuration. The crawler stores the documents in a local filesystem cache as a temporary workspace during its crawl. Processing thecached data, Oracle Ultra Search creates the index required for querying.To crawl different repositories, the Ultra Search crawler allows you todefine specific ‘data sources’ (A data source is a logical constructidentifying a repository) You can take a single physical repository, suchas a database, and map it to multiple data sources (A data source is alsothe granularity at which you define metadata). Ultra Search knows thefollowing types of data sources:• Web Sites – Define web sites as a data source with the HTTP protocol.• Database Tables – Ultra Search can crawl Oracle databases and other relational databases that support the ODBC standard. Database tables to be crawled can reside in Ultra Search’s own database instance or they can be part of a remote, database accessed over a network. To access remote databases, Ultra Search uses ‘database links’. Ultra Search allows the crawling of both full text columns and “fielded text” columns. Fielded text columns allow you to map a database column to an Ultra Search attribute (e.g. AUTHOR, TITLE), creating a set of indexes tuned to the content of your database.• Files – Files can be crawled through the file:// protocol. Files must be accessible by each crawler machine either locally or remote over the network. Ultra Search uses the Oracle Text filters to extract text and metadata from documents and automatically identifies document types. See section 3.2.2 for a description of INSO filters and a n overview of supported file types.• Emails --. This feature is useful for crawling mailing lists. Emails sent to a specific email address can be crawled by creating an IMAP email account that subscribes to a mailing list(s). All messages addressed to the email address / mailing list are indexed. Ultra Search can crawl and open email attachments and ‘nested’ emails such as in email threads.To maintain fresh, comprehensive search results, Ultra Search usessynchronization schedules. Ultra Search lets you gather from multipleWeb sites and data sources, each on a separate schedule. Email searchresults, for example, can be updated continuously, while publishedcontent is gathered on a less frequent schedule. Each synchronizationschedule can have one or more data sources attached to it.To increase crawling performance, you can set up the Ultra Searchcrawler to run on one or more machines separate from your database. Oracle Ultra Search: Architecture Page 10
  11. 11. These machines are called ‘remote crawlers’. However, each machinemust share cache, log, and mail archive directories with the databasemachine.To limit the crawling to a specific section of your corporate network or toensure that crawling does not take wrong turns and follow linkrelationships that point outside your intranet, Ultra Search lets you specifyso-called ‘inclusion’ and ‘exclusion’ domains for crawls.Ultra Search supports ‘instance snapshots’ where you create a read-onlysnapshot of a master Ultra Search instance for query processing orbackup purposes. Instance snapshots can be made updatable. This isuseful when the master instance is corrupted and you want to use asnapshot as a new master instance.The Ultra Search crawler can be instructed to collect URLs withoutindexing them. This ‘data harvesting mode’ allows you to examinedocument URLs and their status, remove unwanted documents, and startindexing.3.1.2 Extensible Crawler APIThe Ultra Search crawler supports the gathering of documents located onthe Web, in database table, email servers and file systems. Many users,however, would like to make their own proprietary document repositoriessearchable. Ultra Search provides an API that can be used to adopt theUltra Search crawler to any proprietary document repository. Documentrepositories can include proprietary in-house created systems or third-party software from companies such as Lotus or Documentum. The onlycondition is that the repository that you would like Ultra Search to adoptneeds to offer HTML protocol access to its documents.The extensible crawler mechanism works as follows:• Register a new data source with the administrative environment.• Use the Ultra Search Extensible crawler API to implement your own ‘Crawler Agent’ in JAVA (a crawler agent is a user-developed program that enables the Ultra Search crawler to access proprietary document repositories). Write your crawling agent so that it streams out documents one-by-one to the Ultra Search crawler, providing the URL and attribute values of every document in your repository. If your repository is password protected, your agent needs to authenticate Ultra Search to access its documents.• Create a maintenance schedule for the new data source.The extensible crawler API is also used to make the Ultra Search crawleraware of changes to the documents in your repository -- it calls youragent with a timestamp to instruct it to gather only those URLs that havebeen updated/inserted recently. Oracle Ultra Search: Architecture Page 11
  12. 12. See Figure 4 below to learn how the extensible crawler API works:1. The Ultra Search crawler calls the user-written crawling agent as soon as the agent has been loaded (labeled "1" in the illustration) and passes important parameters about the new document repository.2. The agent can now establish a connection to the repository (“2”).3. The crawler obtains a document URL from the crawling agent.4. The crawler uses the obtained document URL to obtain the corresponding document from the repository.5. Repeat steps 2 and 3 until all documents have been gathered from the repository.Figure 4: Illustration of Ultra Search extensible crawler API.3.1.3 The Ultra Search Query API and Query ApplicationOracle Ultra Search provides a flexible, easy-to-integrate query frameworkby means of a set of query APIs. These APIs can be used from Webapplications to retrieve and display query results. Ultra Search API’s arewritten in Java. Therefore, they are compatible with a large spectrum ofweb application servers that support Java Server Pages (JSP version 1.0and above). Oracle Ultra Search: Architecture Page 12
  13. 13. Ultra Search Query APIs enable the inserting Ultra Search query inputboxes and result lists in any Web application. In addition, these APIs canbe used to customize search screens. To include Ultra Search into Javaapplications, Ultra Search can be called from Java Server Page (JSP) code.Figure 4: Illustration of Ultra Search Query APIIn this illustration, the browser calls a Java server page with the URL(http://hostpath/…) on the Web server. The Web server, which alsocontains the JSP Engine and the Ultra Search Java Query API,communicates with Oracle10g, the Ultra Search index and Oracle Text.Ultra Search includes a canned, fully functional query application forusers to query and display search results. The query application comes inJava (JSP) and also incorporates an email browser for reading andbrowsing emails.The Oracle Ultra Search query API is geared towards easy integration withyour applications. It provides functionality for:1. Customizing the look and feel of your search per your taste - Ultra Search’s Query API provides functions for the presentation of HTML code that can be embedded in your Web application.2. Retrieving data from the Ultra Search instance, including available data sources, languages and metadata attributes (e.g. AUTHOR, TITLE).To shorten development cycles, it also includes functionality forencapsulating commonly performed Web development tasks.3.1.4 The Ultra Search Administration ComponentThe Ultra Search Administration Tool is a web application that allows for:• Define Ultra Search instances – Each Ultra Search instance is identified by name and has its own crawling schedules and index. As many instances as necessary can be created.• Manage administrative users – Ultra Search users can be assigned to manage an instance. Language preferences can be defined for each user. Oracle Ultra Search: Architecture Page 13
  14. 14. • Define crawler parameters -- Configure and schedule the Ultra Search Crawler• Set query options -- Query options allow users to limit their searches. Searches can be limited to document attributes (e.g. TITLE, AUTHOR) and data groups. Data source groups are logical entities exposed to the search engine user. When entering a query, the search engine user is asked to select one or more data groups to search from. Each data group consists of one or more data sources.• Adjust relevancy ranking of the search hit list -- Ultra Search allows administrators to influence the order that documents are ranked in the search hit list. Use this to promote important documents to higher scores and make them easier to find. This function is new with Ultra Search version The Java email APIOracle Ultra Search enables the retrieving and indexing of emails residingon a server that supports the IMAP4 protocol. Ultra Search defines theconcept of an email source, which derives its content from emails sent toa specific email address. When the Ultra Search crawler crawls an emailsource, it collects all emails that have the specific email address in any ofthe "To:" or "Cc:" email header fields.In portal or content search scenarios, the items of interest are usuallyfound in corporate-wide mailing lists and aliases. For example, allcustomer support issues for Oracle Corp. may be mailed tosupport@Oracle.com. In Oracle Ultra Search, you create multiple mailsources, where each mail source represents a public email list to which allsearchers are assumed to have access.Ultra Search email crawling and rendering is built on top of the JavaMailAPI. This enables Ultra Search to provide a Java API for accessing indexedemails. This API enables the retrieving of information such as:• email header information• email body content; and• attachments of an email.The Ultra Search email API allows for including browsing functionalityinto Java Server Pages (JSP) or servlet-based web applications. UltraSearch ships a fully functional JSP web application that directly uses thisAPI to render indexed emails. Since the source code is viewable, itprovides an example for building your own customized email browser.3.1.6 The Display URL MechanismThis feature allows you to render the results of your database tablesearches according to an underlying Web application. Use this feature to Oracle Ultra Search: Architecture Page 14
  15. 15. enhance the presentation of search hits if you have a database with anassociated Web application that is used to browse records in the databasetables. It allows the Ultra Search administrator to define a ‘display URL’that will be sent to your browser and trigger your Web application tobring up the Web screen that is associated with the database record inyour search hits.For example, in your technical service department you might have aservice incident database with an associated Web application that is usedby service personnel to browse and alter the service records in thedatabase. You would like to use Ultra Search to enable your customerpersonnel to search across all service records, but keep the familiar Webfrontend of your application. The display URL makes this possible. Itworks like this: Use Ultra Search to create a table data source for theservice database. Then define a so-called ‘display URL template’ (a URLtemplate is a set of user-defined rules that Ultra Search uses to convert theresult of database record searches into a URL that your browser canunderstand). Now when the table data record is in the search hits, UltraSearch will use the display URL template to generate a URL that will pointyour browser to the respective screen in your Web application. Yourservice personnel can now see the complete service incident Web screen.In order to be able to use the display URL feature, your Web applicationmust be written so that there is ‘fixed’ URL that links a screen in theapplication with its corresponding records in the underlying database. Forexample,http://service.mycompany.com/myWebapp.?no=<incident_number>is a fixed URL for accessing the table records from your Web applicationto get the incident Web screen given an ‘incident number’. Ultra Searchstores this URL and uses it to bring up the Web screen of your applicationthat corresponds to the serach hit. Please note that URL parameter valuescannot be encrypted.3.2 Ultra Search MethodologyWhat steps do you need to follow for using Ultra Search ? The OracleUltra Search engine follows four logical steps to provide universal search– gather, analyze, make queryable, and maintain. These steps are notnovel, and are indeed found in most organizations’ business process.3.2.1 The Gather StepGathering refers to information that exists in structured relationaldatabases and in unstructured files, Word processing documents,spreadsheets, presentations, e-mail, news feeds, Adobe Acrobat files, andWeb pages. Ultra Search gathers this information by “crawling” yourcorporate intranet and looking through all the information that exists in Oracle Ultra Search: Architecture Page 15
  16. 16. the various repositories of your company – databases, Web pages, IMAPmail servers and others.During the gathering process, link relationships are analyzed to avoidgoing in circles and taking wrong turns. As a result, Ultra Searchadministrators have an easier time keeping search results complete andup-to-date.Figure 6: Configuration of Ultra Search Crawler.The screen shot in the figure above shows the configuring of the UltraSearch crawler for information gathering through the administrator utility.3.2.2 The Analyze StepIn the analyze phase Ultra Search looks at the meaning and structure ofgathered information. In order for information to be searched, it must beindexed. During the analyze phase, Ultra Search uses the Oracle Textengine to extract both meaning and structure from the gatheredinformation by creating an integrated index, effectively “normalizing” bothstructured and unstructured data. Oracle Text indexes contains a completewordlist along with other information.During indexing, text and metadata are extracted from documents byOracle Text INSO filters. This filtering technology automatically identifiesdocument type, invokes the correct filter and produces indexable text anddata. Several predefined metadata fields are supported, including author,date, and title. INSO filters include filters for most (150+) popular filetypes including:• Microsoft Office Suite 95/97/2000.• Spreadsheet documents, such as Microsoft Excel and Lotus 1-2-3.• Word processing files such as Microsoft Word and Corel Word Perfect, including a PDF filter to index Acrobat PDF files.• Presentation graphics: Microsoft PowerPoint, Lotus Freehand. Oracle Ultra Search: Architecture Page 16
  17. 17. Unlike some document management systems, Ultra Search gathering andanalyzing is non-intrusive. Instead of physically moving documents,information and documents are analyzed but reside in their originallocation under their own name.In typical Web search technologies, hundreds of hits are returned. As thenumber of repositories increase, the ability to rank relevance ofdocuments decreases. Ultra Search uses the award winning relevanceranking of Oracle Text to ensure that users consistently find the needle inthe haystack.Figure 7: Configuring Ultra Search Document Filters.The screenshot above shows how you specify the document types thatwill be analyzed by Ultra Search and filtered through Oracle Textdocument filters.3.2.3 Making Crawling Results Searchable“Make Searchable” is the function of providing access to all theinformation that has been indexed in a programmatic fashion. OracleUltra Search provides a JAVA API for this purpose. Passing a search terminto the query API locates all relevant documents, whether they are storedon Web servers, databases, or in applications. Customers can use UltraSearch APIs to integrate universal search into their own Web pages orapplications. Oracle Ultra Search: Architecture Page 17
  18. 18. Figure 8 Screen Shot of Example Query Screen.The Figure above shows an example Query Screen with a search for“Performance”-related information (Ultra Search relevance rankingsappear in red).3.2.4 The Maintain StepThe maintain step ensures that search results are updated continuously.Ultra Search lets you gather from multiple Web sites and repositories,each on a different schedule. IMAP messaging servers, for example, canbe updated continuously, while published content is gathered on a lessfrequent schedule. Ultra Search maintains content by providing easy,intuitive utilities that provide Administrators with an easy way to keep upwith new content that is added through growth or acquisition. Oracle Ultra Search: Architecture Page 18
  19. 19. Figure 9: Scheduling the Ultra Search Crawler.Figure 9 above shows a screenshot of the “Schedule” page of the UltraSearch Administration Utility where maintenance crawling can beconfigured.4. COMPREHENSIVE SECURITY SUPPORTIn Ultra Search 10, security has been comprehensively addressed: • Searches return only documents that a particular user is allowed to see based on their group membership or priviledges. • Security is based on the LDAP standard and integrated with Oracle’s Internet Directory (OID). All data sources in your enterprise and Ultra Search share a common user “namespace”. • The Ultra Search Query API and query samples allow for specifying a search user. Only users known to your corporate LDAP server can submit searches. • High-performance implementation - ACLs are cached in memory and evaluated at run time during query invocation. Authorization checking is automatically turned off if there are no secure documents in an Ultra Search instance. • Support for secure crawling over the HTTPS protocol.All your resources – Web pages, rows in database tables, emails in IMAPaccounts – can now be protected by Access Control Lists (ACL). UltraSearch can obtain ACLs in two different ways: • Directly from your repositories by crawling. Oracle Ultra Search: Architecture Page 19
  20. 20. • Search Administrators can specify authorization roles directly in the Ultra Search administrative interface by entering a “grant” list of LDAP users, and groups, which are allowed to search documents. For example, all documents retrieved during a crawl can be marked searchable by anyone belonging to groups G1, G2 and G3. Or, all users U1, U2 and U3 can be granted permission to search all documents crawled.3. FEDERATED SEARCH - SEARCH ONCE, FIND EVERYTHINGFederated Search, a new feature in Ultra Search 10, allows for searchesboth over Ultra Search crawled repositories and other heterogenous datasources which do their own crawling and indexing. For several reasons, arepository may not be suitable for crawling: • The rate of updates may be too rapid for scheduled crawling. • Opening a door for a crawler may lead to vulnerability for secure data sources. • Lastly, crawling database-backed websites as a set of unstructured documents is inefficient, since the data is often already contained and indexed in structured form inside a database.A new ‘Search Federator’ component of Ultra Search based on Java’sConnector Architecture (JCA), accepts search terms from end users andbrokers them to other data sources, including Oracle Files, Mail, andGoogle. It then displays an integrated list of search results.Ultra Search allows for providing custom modules, so-called “Searchlets”,which translate and map between the proprietary search syntax of aproprietory repository and Ultra Search and execute queries. The new‘Searchlet’ API (SAPI) offers: • Rich query language, including contains, equal, and less-than operators. • Foldering Hierarchies - allow each data source to expose a foldering hierarchy. • Provides translation services, which can be used to internationalize applications.Ultra Search provides predefined searchlets to federate searches toGoogle, other Ultra Search instances, and to Oracle Files. Users canextend these searchlets or implement their own. Oracle Ultra Search: Architecture Page 20
  21. 21. Figure 10: Ultra Search Federation Architecture. 5. ULTRA SEARCH IN ORACLE10G APPLICATION SERVERUltra Search is shipped as a Ultra Search has been integrated with Oracle’s Internet Application Serversub-component of Oracle10gPortal. Add the new search and is now being released with Oracle10g Application server. This sectionPortlet to your Portal pages. provides an overview of new Ultra Search features built specifically for the Oracle10g Application Server. Oracle 10gAS release 9.0.2 includes an integrated version of Oracle Portal and Ultra Search. Ultra Search in 10gAS features: • New Ultra Search portlets provide search screens wrapped as a ‘Portlet’ (a portlet is a contained area on a Portal page that provides access to an information source and that outputs HTML). This allows Portal users to utilize Ultra Search directly from their Portal pages. • A Portal data source allows Oracle Portal customers to go beyond Portals’ restricted built-in search function. They can now use Ultra Search for searching outside their Portal installation – over the repositories of multiple Portal installations and in all other Ultra Search-supported repositories. • Single Sign-On support allows you to log on once for all components of the iAS product suite and never see the Ultra Search administrative login screen a second time. Please note that although Ultra Search in 10gAS is the same product as in the 10g database release, the new portlets and single sign-on support are only shipped with 10gAS and Oracle Portal. 5.1 New Search Portlets Ultra Search provides new sample search screens wrapped as a portlet. Sample search portlets are shipped out-of-the-box with Oracle Portal. For Oracle Ultra Search: Architecture Page 21
  22. 22. power users, the source code of these sample search applications iswritten so that they can be easily read and modified. The appearance ofthe Portlets can be customized by the Portal end-user, for example thenumber of hits display in each search request can be set.Ultra Search search portlets are implemented as JSP applications.Note: Search portlets are not shipped with the DB version, they are onlyshipped with the iAS Version and Portal.5.2 New Portal Data SourceUltra Search can now crawl and index the Oracle Portal. A new datasource type ‘10gAS Portal’ allows for crawling one or more installations ofPortal. The Ultra Search administrative tool will automatically find anddisplay all page groups of your Portal installation – after registering yourPortal, you just need to choose and pick the Page groups that you wantto index. Ultra Search is now ready to crawl the page groups you havechosen and the various indexable objects contained in them:• Pages• Folders and subfolders• Text ItemsWhile gathering Text from these objects, the Ultra Search crawler alsoobtains various attributes including the name of the object, the creator,the date the object was created. This "metadata" can later be used tonarrow your searches.To ensure that your search results keep current with any changes in yourPortal page groups, make sure that Ultra Search revisits your new portalsource periodically by setting up a respective crawling schedule. UltraSearch operates with Portal in "pull mode"; information to be indexed isperiodically polled from Portal by the Ultra Search crawler. The UltraSearch index will not automatically be closely synchronized with the datain Oracle Portal without a frequent-enough "maintenance crawling"schedule. Oracle Ultra Search: Architecture Page 22
  23. 23. Figure 11: Ultra Search ‘Portlets’.Figure 10 above depicts the new Ultra Search Portlet. This Portlet can becustomized to show a number of Ultra Search features, including basic oradvanced search and number of search hits shown.5.3 Single Sign-On AuthenticationWith 10gAS, Ultra Search delegates the responsibility for userauthentication to the 10gAS single-sign-on server. When accessing theUltra Search administration tool, you will be redirected to the SSO serverand asked to authenticate yourself. Authenticated SSO users never see theUltra Search login screen. Instead, you can immediately choose aninstance to manage.6. ULTRA SEARCH IN ORACLE COLLABORATION SUITEOracle Collaboration Suite Search allows you to find what you want -inside the collaborative applications of the Suite, Email and Files, andoutside the Suite, on your corporate Intranet pages.In Collaboration Suite Search two components, Federated Search andOracle Ultra Search, work together to deliver search:• A ‘Search Federator’ that accepts search terms from end users through the Collaboration Suite Search page and displays an integrated list of search result hits from Mail, Files and Web servers crawled by Ultra Search. Oracle Ultra Search: Architecture Page 23
  24. 24. • Ultra Search provides crawled search over corporate intranet Web pages.No crawling is required for Collaboration Suite applications - Mail andFiles build their own index and update it automatically each time a newemail arrives in Mail or a new file gets stored into Files. Indexing uponarrival, and not on a fixed periodic schedule, ensures that search resultsare always fresh and current. Mail can be configured to index subject line,body text and even attachments of arriving electronic mail.Web servers and other document stores that do not build their own indexcan be crawled with Ultra Search.7. SUMMARYCompanies need to eliminate the chaos inside their firewalls. No solutionprovider is more focused than Oracle to solve that problem.In summary, Oracle Ultra Search allows you to reduce the time spentfinding relevant documents on your company’s IT systems:• It crawls, indexes, and makes searchable your corporate intranet.• Provides out-of-the-box, web-style search without the need for coding against hard-to-use low level API. For advanced users, however, APIs are also exposed.• It organizes and categorizes content from multiple repositories by extracting valuable metadata that can be used in Portal applications.• It provides effective search by returning more relevant hits - the best relevance ranking in the industry - and finds what you want.And it provides the best database integration in the industry.. Oracle Ultra Search: Architecture Page 24
  25. 25. Oracle Ultra SearchArchitecture White PaperJanuary 1994Author: Stefan BuchtaContributors: Sandeepan BanerjeeOracle CorporationWorld Headquarters500 Oracle ParkwayRedwood Shores, CA 94065U.S.A.Worldwide Inquiries:Phone: +1.650.506.7000Fax: +1.650.506.7200www.oracle.comOracle Corporation provides the softwarethat powers the internet.Oracle is a registered trademark of Oracle Corporation. Variousproduct and service names referenced herein may be trademarksof Oracle Corporation. All other product and service namesmentioned may be trademarks of their respective owners.Copyright © 2004 Oracle CorporationAll rights reserved.