著者の表現 |
作成日:2007-04-30 最終更新日: |
Namazu は著者の項をフィールドとして持っている。 索引ファイルとしては、NMZ.field.from に格納されている。
/usr/share/namazu/filter/html.pl にあるソースを見ると、 優先順位の高い順番から低い順番で、 次のようになっている。
このどれにも当てはまらないときは、不明と表示される。
さて、私は seesaa にあるブログを wget でダウンロードして、 検索対象に含めていたことがあった(2020 年以降、現在まで検索対象からは外している)。 この seesaa ブログでは、作者の表現は、 上記のどれにも該当しない。 しかし、まりんきょが著者であることは決まっているから、 Namazu の検索結果の著者欄に出るようにさせたい。
さて、著者をNamazuの索引データに反映させるには、 次の方法が考えられる。
ここでは、第3の方法を採ることにする。 著者欄は、NMZ.field.from に入っている。
#nmzauthor.rb
uri = "/var/namazu/index/NMZ.field.uri"
a_uri = File.open(uri)
while (title = a_uri.gets)
line = ARGF.gets
if (/marinkyo.seesaa.net/ =~ title)
print "まりんきょ", "\n"
else
print line
end
end
このプログラムを次のように呼び出す
% ruby -i.BAK nmzauthor.rb /var/namazu/index/NMZ.field.from
これで、不明だった著者欄が、まりんきょという名前になる。
rfnmz コマンドを作用させることを忘れずに。(2007-04-30)
なお、著者を「まりんきょ」決め打ちでなく、 まじめにファイルから検索することも考えた。 seesaa ブログでは、 ダブリンコア (Dublin Core)表現で、次のようになっている。
<rdf:Description
rdf:about="http://marinkyo.seesaa.net/article/10026246.html"
trackback:ping="http://blog.seesaa.jp/tb/10026246"
dc:title="ハイドン「四季」"
dc:identifier="http://marinkyo.seesaa.net/article/10026246.html"
dc:description="合唱団で、ハイドンの「四季」を練習する。春の最後のフーガだ。覚えられるか。"
dc:creator="まりんきょ"
dc:subject="音楽"
dc:date="2005-11-30T23:29:07+09:00"
/>
したがって、この dc:createor="まりんきょ"の引用符内を抽出すれば、 著者が得られる。 しかし、この表現自体、実は HTML のコメントの中にあるので、 厳密には無効な情報だ。
まりんきょ学問所 > 全文検索システム Namazu > 著者の表現