Disclosed is a system for performing online data queries. The system for
performing online data queries is a distributed computer system with a plurality
of server nodes each fully redundant and capable of processing a user query request.
Each server node includes a data query cache and other caches that may be used
in performing data queries. The data query, as well as request allocation, is performed
in accordance with an adaptive partitioning technique with a bias towards an initial
partitioning scheme. Generic objects are created and used to represent business
listings upon which the user may perform queries. Various data processing and integration
techniques are included which enhance data queries. An update technique is used
for synchronizing data updates as needed in updating the plurality of server nodes.
A multi-media data transfer technique is used to transfer non-text or multi-media
data between various components of the online query tool. Optimizations for searching,
such as the common term optimization, are included for those commonly performed
data queries. Also disclosed is a system for targeting advertisements that are
displayed to a user of the system.