NAME

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

INHERITANCE

Apache::Solr::JSON
  is a 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.

See documentation in the base class.

METHODS

See documentation in the base class.

Constructors

See documentation in the base class.

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>
 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.

server => URL
server_version => VERSION

Accessors

See documentation in the base class.

$obj->agent()

See "Accessors" in Apache::Solr

$obj->autocommit([BOOLEAN])

See "Accessors" in Apache::Solr

$obj->core([CORE])

See "Accessors" in Apache::Solr

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

See "Accessors" in Apache::Solr

$obj->serverVersion()

See "Accessors" in Apache::Solr

Commands

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

See documentation in the base class.

Helpers

See documentation in the base class.

$obj->simpleDocument(COMMAND, [ATTRIBUTES, [CONTENT]])

Construct a simple XML structure.

$obj->simpleUpdate(COMMAND, ATTRIBUTES, [CONTENT])

DETAILS

See documentation in the base class.

SEE ALSO

This module is part of Apache-Solr distribution version 0.97, built on November 15, 2013. Website: http://perl.overmeer.net

LICENSE

Copyrights 2012-2013 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://www.perl.com/perl/misc/Artistic.html