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