namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: namazu current source
- From: knok@xxxxxxxxxxxxx (NOKUBI Takatsugu)
- Date: Thu, 2 Sep 99 18:09:45 JST
# プログラミングのスキル云々は人のこと言えないですから... ^^;
<199909020736.QAA06290@xxxxxxxxxxxxxx>の記事において
satoru-t@xxxxxxxxxxxxxxxxxxさんは書きました。
>> ところで、野首さんはどういった感じの library化を考えています
>> か? どのようにその library を使うのか、大ざっぱなコードを示
>> してもらえます?
いまいちきれいにまとまっていませんが、Perlでこんな感じにしたいと思っ
てます。
$idx = new Namazu::index(); # (Namazu::index Object)
$idx->setindex('/usr/local/namazu/index');
$idx = new Namazu::index('/usr/local/namazu/index');
$idx->sort(NMZ_SORT_ASCEND); # NMZ_SORT_DESCEND
$idx->sort(NMZ_SORT_SCORE);
$result = $idx->query('a and b'); # (Namazu::result Object)
($score, $fileid, $dbid, $date) = $result->fetch(1);
$uri = $result->uri($fieldid, $dbid);
そのために、Cレベルではこういう感じで処理したいです。
NAMAZU *nmz;
nmz = createNAMAZU();
addIndex(nmz, "/usr/local/namazu/index/foo");
addIndex(nmz, "/usr/local/namazu/index/bar");
setSortType(nmz, NMZ_SORT_ASCEND);
RESULT *result;
result = Query(nmz, query);
int resultnum = resultNumber(result);
for (int i = 0; i < resultnum; i ++) {
char *uri = getURI(result, i);
printf("<li>%s\n", uri);
}
# NAMAZUはインデックス等を保持する構造体
# RESULTは結果を保持する構造体
# ここまで改造するのはかなり大変かも... Objectiveにしなければ作業量も
# 減って簡単でしょうけど。
--
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx (private)
nokubi@xxxxxxxxx (official)