Full Text Overview
SQL is a powerful language for querying databases. It is easy to use and well suited for providing filtering, sorting, and grouping queries to an application. However, SQL has limitations when it comes to particular types of searches, most notably, complex text matching or locating records with text located in the middle of a large text column. While it can be done using LIKE or REGEX, due to the way that SQL indices work, these queries can often be slow enough when run against a large table to make them unusable in a real world database.
BBj 15.0 introduces a powerful new feature that gives application developers and database administrators the ability to provide their users with lightning fast full text searching capability on one or more files in their database. This functionality is built on top of the leading information retrieval library, Lucene. Lucene has been in use since 1999 and is by far the most mature and popular solution for providing full text indexing and searching capabilities to applications. Because of the way Lucene indexes the data, users can execute complex searches on databases of any size and still get back the results extremely quickly.
How BBj Uses Lucene
BBj provides developers and administrators the following features to leverage the power of Lucene:
- FULLTEXT file type used from a BBx program to create search files that work in conjunction with existing data files or to create document archives for storing and searching any type of text-based document.
- FULLTEXT index on a table in a database to provide fast full text searching on particular fields in the table.
- Search viewer available for use from the 'Browser' and 'Eclipse' Enterprise Manager to execute ad-hoc queries to search a single table or an entire database at one time, and view those results quickly.
- Complete access to Lucene’s powerful querying language to execute anything from simple word and wildcard searches to complex match algorithms including fuzzy searches, proximity searches, range searches, boolean operators, grouping, and even boosting the importance of particular criteria.
- Search performance is extremely fast regardless of the number of records in the file!