# NAME
Sphinx::XMLpipe2 - Kit for SphinxSearch xmlpipe2 interface
# SYNOPSIS
use Sphinx::XMLpipe2;
my $sxml = new Sphinx::XMLpipe2(
fields => [qw(author title content)],
attrs => {published => 'timestamp', section => 'int',}
);
or
my $sxml = new Sphinx::XMLpipe2(
fields => [qw(author title content)],
attrs => [
{
name => 'published',
type => 'timestamp',
},
{
name => 'section',
type => 'int',
bits => 8, # optional
default => 1 # optional
},
]
);
$sxml->add_data({
id => 314159265,
author => 'Oscar Wilde',
title => 'Illusion is the first of all pleasures',
content => 'Man is least himself when he talks in his own person. Give him a mask, and he will tell you the truth.',
published => time(),
section => 100500,
});
$sxml->remove_data({id => 27182818});
print $sxml->fetch(), "\n";
# METHODS
- new %options
Constructor. Takes a hash with options as an argument (required).
The hash contains two keys: fields (arrayref) and attrs (hashref or arrayref if you want to specify additional fields: "bits", "default").
For details about "fields" and "attrs" see SphinxSearch manual.
- add\_data $hashref
Adds a **single** document to xml. The argument contains key-value pairs with fields/attrs.
You can do multiple calls this method with different params set.
Кeys are not properly validated by package.
- remove\_data $hashref
Request for a **single** document remove from index (adds killist record to xml).
The argument contains document\_id: {id => $document\_id}.
You can do multiple calls this method with different params.
- fetch
Gets xml for output
# SEE ALSO
[Sphinx reference manual: xmlpipe2 data source](
http://sphinxsearch.com/docs/latest/xmlpipe2.html)
Yet another xmlpipe2 package [Sphinx::XML::Pipe2](
http://search.cpan.org/~egor/Sphinx-XML-Pipe2-0.002/lib/Sphinx/XML/Pipe2.pm)
# LICENSE
Copyright (C) bbon.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
# AUTHOR
bbon <
[email protected]>