Package DE_EPAGES::RemoteSearch::API::Object::SearchClient
Client for searching.
Base |
DE_EPAGES::EPagesJ::API::Object::RestClient |
Functions
create
Factory method for a SearchClient object.
Syntax |
DE_EPAGES::EPagesJ::API::SearchClient->create($Shop, $hArgs); |
Input |
|
Return |
|
search
Search products with given parameters. Mandatory parameter are
lang and query. Client sends query as HTTP POST
request to the remote search service and return a HTTP::Response.
See also searchAsObject, searchAsHash.
See also JAX-RS documentation of epagesJ.
Throws error 'REQUEST_FAILED' if remote service is not reachable or did not
anwser in given the given timelimit.
See DE_EPAGES::EPagesJ::API::Object::HTTPClient
Syntax |
my $Response = $Client->search( $hParams ); |
Example |
my $Index = $Shop->get('RemoteProductSearchIndex'); my $Client = $Index->remoteSearch(); # simple query my $Response = $Client->search( {lang => 'en', query => 'tent' } ); # query with filters & error handling my $Builder = DE_EPAGES::RemoteSearch::API::Object::SearchParamBuilder->new(); $Builder->query( $SearchString ) ->lang( GetCodeByLanguageID( $Servlet->languageID ) ) ->currency( $Servlet->currencyID ) ->addSimpleFilter( 'manufacturer', $manufacturer ); my $Response2; eval { $Response2 = $Client->search( $Builder->params() ); }; LogWarnings ('HTTP Request failed: ' . GetError() ) if ErrorExists(); if ($Response2){ # handle response } |
Input |
|
searchAsHash
Wrapper for $Client->search.
Syntax |
my $hResult = $Client->searchAsHash( $hOptions ); |
Input |
|
Return |
|