Jump to content

Search-based application

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by FrescoBot (talk | contribs) at 06:20, 8 July 2010 (Bot: links syntax and spacing). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Search-based applications (SBA) are software applications in which a search engine platform is used as the core infrastructure for information access and reporting. SBAs use semantic technologies to aggregate, normalize and classify unstructured, semi-structured and/or structured content across multiple repositories, and employ natural language technologies for accessing the aggregated information.

Pre-Conditions

SBAs are typically deployed when there is a need to synthesize heterogeneous content from multiple sources (text documents, multimedia files, database content, etc.), or, more commonly, they are used to replace traditional relational database systems as the primary data access infrastructure when one or more of the following constraints exist:

  • High volumes of data and/or users:
    Search engines are optimized for fast processing of access requests (read operations), while databases are optimized for recording and storing transactions (write operations). Accordingly, search engines can provide efficient processing against very large data sets by a high number of simultaneous users (whether human users or other software applications).
  • A need for real time information:
    To maintain the referential integrity of data and balance transactional and access requirements, large databases are typically updated in batch processes, resulting in data latency. Search engines maintain indexes using continual incremental and differential update processes, supporting real-time data availability.
  • A need for ad hoc access and/or reporting against a broad range of criteria:
    Search engines enable users to access and manipulate data according to any criteria maintained in the index— whether the criteria is extracted from a source system or created by the engine during the course of natural language processing—without advance programming of all queries and views.
  • The need to extend access to specialist systems to untrained users:
    Because SBAs can extract data from complex systems and make it available in an independent data layer that can be accessed using technologies such as natural language search, fuzzy matching and faceted navigation, SBAs are being used to extend access to the content in complex, specialist systems to non-specialists.

Practical Uses

SBAs are used for a variety of purposes, including:

  • Web Applications: Typically, B2B, B2C and C2B applications that mash-up data and functionality from diverse sources (databases, Web content, user-generated content, mapping data and functions, etc.)
  • Database Offloading: In this case, SBAs are used to provide an alternate means of accessing database content that is non-intrusive to source systems
  • Data Migration: SBAs are sometimes used as a temporary platform to ensure continuity of information access during large scale migration projects


The use of a search platform as the core infrastructure for software applications has been enabled largely by two evolutions in search engine technology: 1) the capability of later generation engines to retain and exploit the semantics embedded in structured data, and 2) the integration of mathematical and statistical processors to provide reporting, analysis, and, occasionally, geospatial capabilities.

Search engines are not a replacement for database systems; they are a complement. They have been optimally engineered to facilitate access to information, not to record and store transactions. In addition, the mathematical and statistical processors integrated to date into search engines remain relatively simple. At present, therefore, databases still provide a more effective structure for complex analytical functions.


References

See also