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.
METHODS
Constructors
- 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>
Accessors
- $obj->agent()
- $obj->autocommit([BOOLEAN])
- $obj->core([CORE])
- $obj->json()
- $obj->server([URI|STRING])
- $obj->serverVersion()
Commands
See http://wiki.apache.org/solr/UpdateJSON
Search
Updates
- $obj->addDocument(DOC|ARRAY, OPTIONS)
- $obj->commit(OPTIONS)
- $obj->delete(OPTIONS)
- $obj->extractDocument(OPTIONS)
- $obj->optimize(OPTIONS)
- $obj->rollback()
Core management
Helpers
- $obj->simpleDocument(COMMAND, [ATTRIBUTES, [CONTENT]])
-
Construct a simple XML structure.
- $obj->simpleUpdate(COMMAND, ATTRIBUTES, [CONTENT])
Parameter pre-processing
- $obj->deprecated(MESSAGE)
- $obj->expandExtract(PAIRS|ARRAY)
- $obj->expandSelect(PAIRS)
- $obj->expandTerms(PAIRS|ARRAY)
- $obj->ignored(MESSAGE)
Other helpers
SEE ALSO
This module is part of Apache-Solr distribution version 0.94, built on January 31, 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