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.