2016-08-22 96 views
0

我在寫一個perl腳本來從Xapian數據庫中檢索搜索結果。用Perl獲取具體數據表Xapian數據庫

我使用搜索:: Xapian模塊並嘗試了基本的Xapian Query Example。這個基本程序允許查詢並獲得按相關性排序的結果數組。我的問題是,get_data()方法將文檔(url,filname,abstract,author,...)中的全部數據作爲字符串混合在一起。

我在CPAN module中搜索了一種方法來逐個獲取每個數據,但我沒有找到它。

是否有可能獲取文件名,網址,作者,...一個接一個地把它們放在一個特定的變量中?

+0

顯示你的代碼產生這樣的輸出 –

+0

'GET_DATA()'是故意不透明的Xapian。無論你放在那裏,你都會走出去;不同的語言可以更容易地使用不同的格式。 JSON,YAML,TOML和XML都是可行的。 'omindex'和'scriptindex'然而使用_sui generis_格式,您可以通過在行結尾分割然後在'='分割以創建鍵/值對來讀取。 –

回答

0

您尚未發佈產生該代碼的代碼或設置的詳細信息。見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(); 
}