#541: WebSearch - external_collections search degrades performance of the search
engine
------------------------+-----------------
Reporter: rchyla | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: WebSearch | Version:
Resolution: | Keywords:
------------------------+-----------------
Changes (by rchyla):
* status: infoneeded_new => new
Comment:
do_external_search() is doing (possibly multiple) requests over the wire
{{{
pagegetters_list = [HTTPAsyncPageGetter(engine[0]) for engine in
engines_list]
}}}
So in situation when the external search fires and the remote url does not
respond quickly, it may degrade the performance considerably. And for each
external engine, the call fetches and parses and prints out the results
(html format). That is why it is degrading the serch engine performance.
I think the perform_external_search would be better placed asynchronously,
out of the normal invenio search_engine. Because its results are never
merged with the internal hitset, therefore there is no need to wait for
the external search engines.
--
Ticket URL: <http://invenio-software.org/ticket/541#comment:6>
Invenio <http://invenio-software.org>