From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

NAME

Apache::Solr::JSON - Apache Solr (Lucene) client via JSON

INHERITANCE

Apache::Solr::JSON
is an Apache::Solr

SYNOPSIS

my $solr = Apache::Solr::JSON->new(...);
my $solr = Apache::Solr->new(format => 'JSON', ...);

DESCRIPTION

Implement the Solr client, where the communication is in JSON.

Both the requests and the responses are using JSON syntax, produced by the JSON distribution (which defaults to JSON::XS when installed)

Warning 1: Apparently, Perl's JSON implementation does not support the repetition of keys in one list, but Solr is using that. Care is taken to avoid these cases.

Warning 2: In some cases, XML and JSON differ in structure and names in the structure. In those cases, the XML plan is made leading: the JSON data is transformed to match the XML.

Extends "DESCRIPTION" in Apache::Solr.

METHODS

Extends "METHODS" in Apache::Solr.

Constructors

Extends "Constructors" in Apache::Solr.

Apache::Solr::JSON->new(%options)
-Option --Defined in --Default
agent Apache::Solr <created internally>
autocommit Apache::Solr true
core Apache::Solr undef
format Apache::Solr 'JSON'
json <created internally>
retry_max Apache::Solr 60
retry_wait Apache::Solr 5
server Apache::Solr <required>
server_version Apache::Solr <latest>
agent => LWP::UserAgent object
autocommit => BOOLEAN
core => NAME
format => 'XML'|'JSON'
json => JSON object

By default, an JSON object is created for you, in utf8 mode.

retry_max => COUNT
retry_wait => SECONDS
server => URL
server_version => VERSION

Accessors

Extends "Accessors" in Apache::Solr.

$obj->agent()

Inherited, see "Accessors" in Apache::Solr

$obj->autocommit( [BOOLEAN] )

Inherited, see "Accessors" in Apache::Solr

$obj->core( [$core] )

Inherited, see "Accessors" in Apache::Solr

$obj->json()
$obj->server( [$uri|STRING] )

Inherited, see "Accessors" in Apache::Solr

$obj->serverVersion()

Inherited, see "Accessors" in Apache::Solr

Commands

See http://wiki.apache.org/solr/UpdateJSON

Extends "Commands" in Apache::Solr.

Helpers

Extends "Helpers" in Apache::Solr.

$obj->simpleDocument( $command, [$attributes, [$content]] )

Construct a simple XML structure.

$obj->simpleUpdate( $command, $attributes, [$content] )

DETAILS

Extends "DETAILS" in Apache::Solr.

SEE ALSO

This module is part of Apache-Solr distribution version 1.11, built on May 08, 2025. Website: http://perl.overmeer.net/CPAN/

LICENSE

Copyrights 2012-2025 by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/