The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.09, built on December 06, 2022. Website: http://perl.overmeer.net/CPAN/

LICENSE

Copyrights 2012-2022 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/