Perl Plucene 모듈로 더 많은 정보를 찾아 내 색인을 작성한 후 지금 검색하고 결과를 반환하려고합니다.Perl Plucene 색인 검색
인덱스를 생성하는 내 코드는 여기에는 ... 기회는 당신이를 건너 뛰고에서 읽을 수 있습니다 : 나는 '...
#usr/bin/perl
use Plucene::Document;
use Plucene::Document::Field;
use Plucene::Index::Writer;
use Plucene::Analysis::SimpleAnalyzer;
use Plucene::Search::HitCollector;
use Plucene::Search::IndexSearcher;
use Plucene::QueryParser;
use Try::Tiny;
my $content = $ARGV[0];
my $doc = Plucene::Document->new;
my $i=0;
$doc->add(Plucene::Document::Field->Text(content => $content));
my $analyzer = Plucene::Analysis::SimpleAnalyzer->new();
if (!(-d "solutions")) {
$i = 1;
}
if ($i)
{
my $writer = Plucene::Index::Writer->new("solutions", $analyzer, 1); #Third param is 1 if creating new index, 0 if adding to existing
$writer->add_document($doc);
my $doc_count = $writer->doc_count;
undef $writer; # close
}
else
{
my $writer = Plucene::Index::Writer->new("solutions", $analyzer, 0);
$writer->add_document($doc);
my $doc_count = $writer->doc_count;
undef $writer; # close
}
그것은 그것에 "솔루션"및 다양한 파일이라는 폴더를 만듭니다 내가 만든 문서의 색인 파일을 가정합니다. 이제 색인을 검색하고 싶습니다 ... 그러나 나는 아무 것도 생각 나지 않습니다. 다음은 Plucene :: CPAN의 간단한 예제에 의해 유도 된 나의 시도입니다. 이것은 위의 명령 행에서 매개 변수 "lol"을 실행 한 후입니다.
#usr/bin/perl
use Plucene::Simple;
my $plucy = Plucene::Simple->open("solutions");
my @ids = $plucy->search("content : lol");
foreach(@ids)
{
print $_;
}
아무 것도 인쇄되지 않습니다. 슬프게도) =. 인덱스를 쿼리하는 것이 단순해야한다고 생각하지만 내 자신의 어리 석음이 내 능력을 제한하고 있습니다. 나는 시간에 발견
이전 스레드에서이 문제를 언급했지만 반복됩니다. [Lucy] (http://metacpan.org/module/Lucy) (née KinoSearch)는 Plucene보다 훨씬 더 나은 선택입니다. 50 배 빠르며 반응이 빠른 개발자와 훌륭한 커뮤니티가 활발하게 개발되고 있습니다. – Ashley