Several specialized versions of IB are available for integration within (web) context management systems, in particular:
- Generic
- Typo3
- Drupal (what's behind IBU News)
- Java Servlet (e.g. Tomcat) based technologies
These are client/server and offload fragments of DB content from behind the CMS into the IB engine. Mirroring of searchable DB content--- what in the DB one wants to search (allowing for selective exclusion of information)--- into a search engine improves not just query capacity and user experience but also
- Avoids expensive high-end server hardware upgrades providing over the course of typical project development significant cost savings.
- Scales very well: Backend search servers can be load distributed over a cluster.
- Helps avoid costs for planning, developing and implementing improved information retrieval performance on current RDBMS architectures.
- Avoids expensive re-indexing and rebuilding of data tables.
- Improves RDBMS performance: no need to have indexed fields (inserts into indexed fields on a RDBMS is generally very expensive since the index needs to be constantly rebuilt).
- Offer more flexible and powerful search.
- Enables the creation of user groups allowing different groups to have different views to both search and information presentation.
- Allows the integration of page attachments (and other external information objects such as PDFs, Word Files, Audio/Video) into search.
- Provides a higher level of information security:
- Removes the need for SQL queries to directly access data in search.
- A clear functional and even physical separation between search and storage.
- Full control over information provided for search: Nothing is there other than what is intended for others to see.
- The protocol itself is so designed that there is little one can accomplish with a hijacked search server.
- The identify of the search server is private to the outside world--- so only insiders or those that have already broken the integrity of the platform could even know where it is.
- The search server does not need to be accessible to the outside world (not even through a firewall).
- The text information in the protocol itself is parsed by the client (Web server) and converted into a form for presentation. There is no means to embed foreign code.
- The IB engine offers also a more generic OO design that allows one to connect different services into search to offer a kind of search Swiss Army Knife (jack of all trades). Search can even transparently access other DBs and networked distributed objects.
A number of these search integration features are particularly suitable for eCommerce applications
- Scan allows for interfaces to be developed where people browse products by names they don't yet know.
- Datatypes such as (search time) calculated numerical and monetary types allow, for example, prices to track foreign exchange markets.
- Search refinement functionality.
- Easily manageable product promotions and search time product rank boosting.
- Customizable and user-installable ranking, scoring and sorting methods.
- The ability to transparently integrate of other search sources such as SQL servers allows for realtime search of inventory and other volatile data features.
- Full customization to control how products are displayed in search results
- The possibility to get SQL back as a response to a query allows for realtime presentation views.
The client side code (what's running in Typo3 or Drupal) is a few lines of PHP code or a set of Python, Tcl or Java classes (for generic). The server is built around the "
nano http[d]" program. Nano_http[d] is written in Python and uses IB as a module.
Nano_http[d] is open source "freeware" covered by a liberal BSD inspired license. Pre-requisites:
- python 2.6
[sources available from python.org]
- MX extensions
- MX experimental extensions
[available from http://www.egenix.com/products/python/] - IB libs and Python loadable module