Document

2001年度 卒業論文
WWW全文検索エンジンVernoにおける
要素構造データベースの設計と実装
g97p0213 大塚聡
Verno
• 全文検索エンジン
• Scheme を用いて利用者が検索命令
をプログラミングできる
• HTMLの要素データの利用が難しい
要素構造データベース
• 要素とはHTMLの要素(element)
• HTMLの特定の要素の中に限定した検索
(「<title></title>から検索」)
• HTMLの要素間の構造を利用した検索
(「<head></head>の中の<title></title>から
検索」)
特定の要素内からの検索
<h1> </h1>
: 要素ID = x1, 範囲 = ( 8, 12 )
<h2> </h2>
: 要素ID = x2, 範囲 = ( 12, 24 )
<h2> </h2>
: 要素ID = x3, 範囲 = ( 250, 265 )
h1
h2
x1 = ( 8, 12 )
x2 = (12,24)
x3 = (250,265)
特定の要素内からの検索
(search “h2” “Ueda”)
文字列 Ueda のこの文書内での出現 : ( 12,16 ) と (120, 124)
+
h1
h2
x1 = ( 8, 12 )
x2 = (12,24)
x3 = (250,265)
要素の構造の解析
: 要素ID = 1
<html>
: 要素ID = 2
<head>
<title> </title>
: 要素ID = 3
<meta …>
: 要素ID = 4
<meta …>
: 要素ID = 5
</head>
</html>
html⊃head
html⊃title
html⊃meta
head⊃title
head⊃meta
(1,2)
(1,3)
(1,4) (1,5)
(2,3)
(2,4) (2,5)
要素の構造の検索(1)
(search “html”
(search “head”
(search “title”)))
html⊃head
html⊃title
html⊃meta
head⊃title
head⊃meta
(1,2)
(1,3)
(1,4) (1,5)
(2,3)
(2,4) (2,5)
要素の構造の検索(1)
(search “html”
(search “head”
(search “title”)))
html⊃head
html⊃title
html⊃meta
head⊃title
head⊃meta
(1,2)
(1,3)
(1,4) (1,5)
(2,3)
(2,4) (2,5)
要素ID 1, 2, 3 の組が、この構造に該当
要素の構造の検索(2)
(search “head”
(search “title”
(search “meta”)))
html⊃head
html⊃title
html⊃meta
head⊃title
head⊃meta
(1,2)
(1,3)
(1,4) (1,5)
(2,3)
(2,4) (2,5)
要素の構造の検索(2)
(search “head”
(search “title”
(search “meta”)))
html⊃head
html⊃title
html⊃meta
head⊃title
head⊃meta
(1,2)
(1,3)
(1,4) (1,5)
(2,3)
(2,4) (2,5)
要素ID 2, 3, 4 と 2, 3, 5 の組が、この構造に該当
検索の例
(define result
(sdb:search “html”
(sdb:search “h1”)
(sdb:search “title” “Ueda”)))
(define (print-proc u)
(display (sdb:url-str u))
(newline)
(display (sdb:inner-text u))
(newline))
(sdb:iterate result print-proc 10)
検索の例