NAME
CLucene - Perl interface to CLucene C++ search engine
SYNOPSIS
use
CLucene;
my
$cl
= CLucene->new(
path
=>
"./index"
);
# create index
$cl
->
open
(
path
=>
"./index"
,
create
=> 1 );
# add document to index
$cl
->new_document;
$cl
->add_field(
field
=>
"ref"
,
value
=>
"doc1"
);
$cl
->add_field(
field
=>
"cnt"
,
value
=>
"some content"
);
$cl
->add_date (
field
=>
"add_dt"
,
value
=>
time
);
$cl
->insert_document or confess
"Failed to insert document"
;
$cl
->
close
;
# search index
$cl
->
open
(
path
=>
"./index"
,
create
=> 0 );
$cl
->search(
query
=>
"some"
,
field
=>
"cnt"
) or confess
"Search failed"
;
my
$hitcount
=
$cl
->hitcount;
while
(
$hitcount
--)
{
(
my
$ret
,
my
$valref
,
my
$valreflen
) =
$cl
->getfield(
field
=>
"ref"
);
confess
"Failed getfield ref"
unless
$ret
;
(
$ret
,
my
$valcnt
,
my
$valcntlen
) =
$cl
->getfield(
field
=>
"cnt"
);
confess
"Failed getfield cnt"
unless
$ret
;
my
$valadddt
=
$cl
->getdatefield(
field
=>
"add_dt"
)
or confess
"Failed getdatefield add_dt"
;
my
$hitscore
=
$cl
->hitscore;
(
"Document: ref: [$valreflen] $valref, cnt: [$valcntlen] $valcnt, add_dt: $valadddt, hitscore: $hitscore\n"
);
$cl
->nexthit;
}
$cl
->
close
;
# multi field search
$cl
->searchmultifieldsflagged(
query
=>
"some"
,
fields_aptr
=> [
"cnt"
],
flags_aptr
=> [
$cl
->NORMAL_FIELD ] )
or confess
"searchmultifieldsflagged failed"
;
ABSTRACT
Index and search documents across one or more fields using the CLucene fulltext search engine, a C++ version of the Java Lucene search engine.
DESCRIPTION
A perl interface to the CLucene C++ port of the Java Lucene search engine. See the documentation with CLucene http://sourceforge.net/projects/clucene/ and Lucene http://jakarta.apache.org/lucene/ for further details.
SEE ALSO
htDig - http://www.htdig.org/
Plucene - http://search.cpan.org/perldoc?Plucene
Search::FreeText - http://search.cpan.org/~snkwatt/Search-FreeText-0.05/
GNU mifluz - http://www.gnu.org/software/mifluz/
AUTHOR
Peter Edwards
COPYRIGHT AND LICENSE
Copyright 2005 by Peter Edwards <peterdragon@users.sourceforge.net>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.