使用 Perl 从 Xapian 数据库获取特定数据

Get specific data form Xapian database with Perl

我正在编写一个 perl 脚本来从 Xapian 数据库中检索搜索结果。

我使用 Search::Xapian 模块并尝试了基本的 Xapian Query Example。这个基本程序允许进行查询并获得按相关性排序的结果数组。我的问题是 get_data() 方法 return 文档中的整个数据(url、文件名、摘要、作者...)混合在一起作为一个字符串。

我在CPAN module中搜索了一种方法来逐个获取每个数据,但没有找到。

是否可以将文件名,url,作者,...一一获取到一个特定的变量中?

您尚未发布生成此代码的代码或您的设置的详细信息。请参阅 simplesearch.pl 示例,而不是将其打印出来,而是将您想要的内容分配给变量:

# Display the results.
printf "%i results found.\n", $mset->get_matches_estimated();
printf "Results 1-%i:\n", $mset->size();

foreach my $m ($mset->items()) {
    printf "%i: %i%% docid=%i [%s]\n", $m->get_rank() + 1, $m->get_percent(), $m->get_docid(), $m->get_document()->get_data();
}