各位一定從未聽說過「isee搜尋引擎」,因為今天剛剛誕生,況且還只是個模型。
我是個很願意分享的人,源**奉上:
#!/usr/bin/perluse cgi qw(:standard);
use time::hires qw(time);
use search::xapian;
use text::scws;
print header("text/html;charset=utf-8");
print start_html(-title=>'isee search engine');
print start_form,
textfield('terms'),
submit('search'),
p, end_form;
print hr;
if(param())";
} }my $qp=new search::xapian::queryparser($db);
$qp->set_stemmer(new search::xapian::stem("english"));
#$qp->set_default_op(op_or); ##預設的就是op_or
my $enq = $db->enquire($qp->parse_query($term));
my @matches = $enq->matches(0, 100);
printf "running query '%s'\n", $enq->get_query()->get_description();
print br;
print "返回",scalar(@matches), "個結果. ";
printf ("用時:%.9f秒.",time-$begin); ##結束計時
print br;
print br;
open (indexfh,"get_document();
my $fulldoc=$doc->get_data();
$fulldoc=~/^url=may21\/(.*)\s+sample=(.*)\s+caption=(.*)\s+type=(.*)\s+modtime=(.*)\s+size=(.*)/sx;
my ($filename,$doccontent,$webtitle,$webtype,$modifytime,$docsize)=($1,$2,$3,$4,$5,$6);
$filename=~/^f0*(\d+).html/;
my $num=$1;
my $hylink="";
seek(indexfh,0,0);
while()
} print a(,"$webtitle");
printf " 匹配度:%d%%
", $match->get_percent();
print small("$doccontent... ..."),"
"; print a(,small($hylink)),br;
print p;
} close indexfh;
}print end_html;
搜尋引擎 索引
正排索引 文件編號,單詞編號,單詞的數量,單詞出現的位置。倒排索引 1,單詞詞典,儲存單詞以及統計資訊,單詞在記錄表中的便宜,可常駐記憶體,用雜湊表儲存。2,記錄表,單詞對應的文件集合,記錄單詞出現的數目 位置。文件採用差分變長編碼。其中文件可按編號公升序排列 可利用差分編碼 也可按出現次數排列,可...
MySQL搜尋引擎程式 mysql搜尋引擎
mysql是我們比較常用的一種資料庫軟體。它有著諸多的優點,如開源的,免費的等等。其實它還有乙個很好的特點,那就是有多種引擎可以供你選擇。如果賽車手能根據不同的路況,地形隨手更換與之最適宜的引擎,那麼他們將創造奇蹟。然而目前他們還做不到那樣便捷的更換引擎,但是我們卻可以 所謂知己知彼方可百戰不殆,要...
搜尋引擎 倒排索引
本節通過引入簡單例項,介紹與搜尋引擎索引有關的一些基礎概念,了解這些基礎概念對於後續深入了解索引的工作機制非常重要。3.1.1單詞 文件矩陣 單詞 文件矩陣是表達兩者之間所具有的一種包含關係的概念模型,圖3 1展示了其含義。圖3 1的每列代表乙個文件,每行代表乙個單詞,打對勾的位置代表包含關係。圖3...