用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
}
它創建了一個名爲「解決方案」和各種文件,它的文件夾...我m假設我創建的文檔的索引文件。現在我想搜索我的索引...但我沒有提出任何事情。這是我的嘗試,由Plucene :: CPAN的簡單例子指導。這是在我從命令行用param「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éeKinoSearch)是比Plucene更好的選擇。它的速度提高了50倍,並且積極開發具有高度響應的開發人員和體面的社區。 – Ashley