[前][次][番号順一覧][スレッド一覧]

mysql:5046

From: sin <sin <panocon@xxxxxxxxxx>>
Date: Mon, 28 Jan 2002 22:27:42 +0900
Subject: [mysql 05046] 検索エンジンのワード検索

シンです。
今、Perlで書かれた検索エンジンをMySQLに移植しているのですが、ワード検索のSQL文が
思いつきません。
誠に申し訳ありませんが、お教え下さい。

環境は、FreeBSDでMySQLはclient-3.23.42。server-3.23.46です。

Perlのソースは下記です。
#------------------------------------------------
#   検索
    sub link_word	{

#       ファイル読み込み
        &file_read("$file_date");
        &file_unlock;

    	$FORM{'word'} =~ s/ / /g ;
    	$FORM{'word'} =~ s/\t/ /g ;
    	$FORM{'word'} =~ tr/[A-Z]/[a-z]/ ;
    	@words = split(/ /,$FORM{'word'}) ;
	    if( $FORM{'cond'} eq '' ) { $cond = "and" ; }

#   	ファイルを入力
#   	ファイルの中を検索する
    	@new=() ;
        $num=0;
		$omax	=	0;
        
    	foreach $lines (@lines){

            $sbuff = $lines[$num] ;
    		$sbuff =~ tr/[A-Z]/[a-z]/ ;

#       	検索する
    		$iflag = 0 ;
    		$ihit  = 0 ;
            $icount=0;
            foreach $words (@words){
                if( index( $sbuff, $words[$icount] ) >= 0 ) {
    				if( $cond eq 'or' ) {
    					$iflag = 1 ;
    					last ;
    				} else {
	    				$ihit ++ ;
    					if( $ihit == $#words + 1 ) {
	    					$iflag = 1 ;
		    				last ;
			    		}
				    }
                }
            $icount++;}
#       	キーワードがあったら保存
		    if( $iflag == 1 ) {
			    push(@new,$lines[$num]) ;
		    	$omax++;
			}
	    $num++;}

		if ($FORM{'FF'} eq '') { $FF	=   0; } else { $FF =   $FORM{'FF'}; }
			$TO =   $FF + $opage - 1;
		if ($TO > $#new) { $TO = $#new; }

			$hit	=   0;
			$next_num   =   '';

		foreach $num ($FF .. $#new) {
			$date   =   $date2  =   $new[$num];
			&date_read;
			if ($hit	==  $opage) { $next_num  =   $num; last;
				} else { push(@NEW,$date2); $hit++; }
		}

		&html_seach;
	}


[前][次][番号順一覧][スレッド一覧]

->    5046 2002-01-28 22:27 [sin <panocon@xxxxxxx] 検索エンジンのワード検索                
      5047 2002-01-28 23:03 ┣[Koji KUSANAGI <kusan]                                       
      6551 2002-11-08 23:50 ┃┗[HOLA <hola@xxxxxxxxx]                                     
      6552 2002-11-09 01:25 ┃ ┗[とみたまさひろ <tomm]                                   
      5048 2002-01-28 23:29 ┗[tateyan <tateyan@xxx]                                       
      5049 2002-01-29 07:29  ┣[sin <panocon@xxxxxxx]                                     
      5051 2002-01-29 10:27  ┃┗[とみたまさひろ <tomm]                                   
      5050 2002-01-29 09:53  ┗["KAWAI,Takanori" <GC]                                     
      5055 2002-01-29 20:49   ┗[sin <panocon@xxxxxxx]