SQLOne Database Search Engine vs Full Text Search Engine
All Enterprise database vendors (Oracle, MySQL, SQL Server) offer full text search feature which is useful in searching multiple columns of a database table for keywords. And no doubt it solves the basic search requirements. But what if the requirement is to search across tables and there are multiple databases to search. Full Text Search Engines have limitation in addressing these requirements.
SQLOne offers a web-based, keyword driven multi-database search engine that enables you to find the required information across multiple enterprise databases. You can search any database just as easily as you would search the Web. Enterprises can use SQLOne database search engine to get an integrated view of data across databases with its relationships and context intact. SQLOne Currently supports MySQL database search, Oracle database search and SQL Server database search.
This document provides a comparative study of SQLOne Search Engine against Full Text Search Engines. Although the comparision details have been furnished for the Full text search engines offered by Relational Database Vendors (Oracle, SQL Server and MySQL), these differences applies to any Full text search engines offered in the market.
Comparative Study Environment
SQLOne Database Search |
3.5 |
Oracle Ultra Search |
Ultra Search 9.0.4 |
MySQL Full Text Search |
MySQL 5.0 |
SQL Server Full Text Search |
SQL Server 2005 |
Unique Comparison Features:
Lets look at some unique features in SQLOne which differentiates it against full-text search engines. A much granular tabular listing of the comparison details between SQLOne and Full Text search engines are provided in the next section.
Search across multiple tables
Full text search does not search across multiple tables of a database. It can search only in the table for which it is defined. Full text index has to be created for each table for which search is be enabled. SQLOne is much more than a full text search where it offers search not just from a table but across tables.
Configuring SQLOne for searching a database is very simple. Providing just the connection details of a database is sufficient for indexing the database and making it searchable. For any search performed, SQLOne would search across all the tables to come up with the matching results.
SQL Know-how and Lack of Uniformity
Different vendors use different syntaxes for Full text indexing and searching. This also varies across databases. Also setting up Full text index and search requires adequate SQL knowledge in different databases.
SQLOne just requires the connection details of any enterprise database [Oracle, SQL Server or MySQL] to search enable them. No need for SQL knowledge to search across any database. SQLOne offers a web-based, keyword driven search interface that enables you to search simultaneously across multiple enterprise databases.
Search across multiple enterprise databases
Full Text search does not support simultaneous search across multiple application databases. You have to setup Full text index and search in each of the database separately, query them separately and view the results.
With SQLOne:
- You could index any number of databases and search enable them
- Search for keywords, which would be simultaneously searched across all the indexed databases
- View the search results across all the databases in a single page (similar to how you view results fetched from multiple websites by Internet search engine)
- All provided through a easy to use Web-based interface
Search across related tables
Databases capture not just data in tables but also the relationship between them. These are defined explicitly through Primary-Foreign Key relationship definition. Some data models do not capture them explicitly, but the data contained in the database naturally would indicate the existence of such relationship.
In databases with such defined relationships, searching each table as an individual entity would not make sense and will provide only partial information. Meaningful information could be presented only if it is fetched across all the related tables.
SQLOne has the unique feature of finding the relationship between tables (both explicit and implicit relationships) and use them in fetching meaningful results for keywords spread across multiple related tables.
SQLOne not just searches from a table but also from related tables of a table. In a phrase search (or multi-keyword search) if the keywords are spread across multiple related tables, SQLOne would be able to search and fetch meaningful results in this case.
For example consider a HR database where Employee and his Contact details are stored in separate tables. It would be a natural requirement to search for a employee name from a specific location to spot the right employee. Hence if we search for an employee Tom Moody from California, SQLOne would search across both Employee and Contact details tables, spot the corresponding record spanning across these tables and return the matching employee information along with his contact details as a single combined result (not as separate matches from two different tables).
Full Text searches can search only in a single table at a time and does not take relationship between tables into consideration.
Supported data types
Most of the full text features offered by the enterprise database are limited to text/varchar columns. Using SQLOne any type of column [text, numeric, date, boolean] can be indexed and searched. SQLOne also offers Advanced Search options to perform numeric searches.
Advanced Search options
SQLOne offers Advanced Search features that helps users to perform a simple criteria based search when the users has the knowledge about the Table structures (also known as the MetaData) of the database(s) being searched. The options available can be categorized as,
- Simple Criteria Search
- Search using operators
Using Simple Criteria Search users can search for keywords in a specific table or column. Operators can also be used as a part of the Criteria. Relational, Logical and SQL operators are supported.
Comparison Matrix
Comparison Notations
 |
Supported |
 |
Not Supported |
| - |
Not Applicable |
The following table captures granular listing of all the differences between SQLOne and the Full-text search engines offered by the Oracle, SQL server and MySQL databases.