第".($i+1)."轮查询:".count($word_list).""; } foreach($db_file_list as $db_file){ if($debug){ echo "dict connect:$db_file
"; } PDO_Connect("sqlite:$db_file"); if($i==0){ $query = "select * from dict where \"pali\" in $strQueryWord ORDER BY rowid DESC"; } else{ $query = "select * from dict where \"pali\" in $strQueryWord AND ( type <> '.n.' AND type <> '.ti.' AND type <> '.adj.' AND type <> '.pron.' AND type <> '.v.' ) ORDER BY rowid DESC"; } if($debug){ //echo $query."
"; } $Fetch = PDO_FetchAll($query); $iFetch=count($Fetch); if($debug){ echo "count:$iFetch
"; } if($iFetch>0){ foreach($Fetch as $one){ $id = $one["id"]; if(isset($one["guid"])){ $guid = $one["guid"]; } else{ $guid = ""; } if(isset($one["lang"])){ $language = $one["lang"]; } else if(isset($one["language"])){ $language = $one["language"]; } else{ $language = "en"; } $pali = $one["pali"]; $dict_word_spell["{$pali}"]=1; $type = $one["type"]; $gramma = $one["gramma"]; $parent = $one["parent"]; //$mean = $one["mean"]; if(inLangSetting($language,$user_setting["dict.lang"])){ $mean = $one["mean"]; } else{ $mean = ""; } $note = $one["note"]; if(isset($one["factors"])){ $parts = $one["factors"]; } else if(isset($one["parts"])){ $parts = $one["parts"]; } else{ $parts = ""; } if(isset($one["factormean"])){ $partmean = $one["factormean"]; } else if(isset($one["partmean"])){ $partmean = $one["partmean"]; } else{ $partmean = ""; } if(inLangSetting($language,$user_setting["dict.lang"])==false){ $partmean = ""; } $status = $one["status"]; if(isset($one["confidence"])){ $confidence = $one["confidence"]; } else{ $confidence = 100; } if(isset($one["dict_name"])){ $dict_name = $one["dict_name"]; } else{ $dict_name = ""; } array_push($output,array( "id"=>$id, "guid"=>$guid, "pali"=>$pali, "type"=>$type, "gramma"=>$gramma, "parent"=>$parent, "mean"=>$mean, "note"=>$note, "parts"=>$parts, "partmean"=>$partmean, "status"=>$status, "confidence"=>$confidence, "dict_name"=>$dict_name, "language"=>$language )); //将语基插入下次查询的列表 if(!empty($parent)){ if($pali != $parent){ $parent_list[$parent]=1; } } //将拆分插入下次查询的列表 if($type!=".part."){ if(!empty($parts)){ $wordparts=str_getcsv($parts,'+'); foreach($wordparts as $x){ if(!empty($x)){ if($x != $pali){ $parent_list[$x]=1; } } } } } } } } /* if($i==0){ //自动查找单词词干 $word_base=getPaliWordBase($in_word); foreach($word_base as $x=>$infolist){ foreach($infolist as $gramma){ array_push($output, array("pali"=>$in_word, "parent"=>$x, "type"=>$gramma["type"], "gramma"=>$gramma["gramma"], "parts"=>$gramma["parts"], "partmean"=>"", "mean"=>"", "language"=>"en", "dict_name"=>"auto", "status"=>128 )); $part_list=str_getcsv($gramma["parts"],"+"); foreach($part_list as $part){ $parent_list[$part]=1; } } } } */ if($debug){ echo "parent:".count($parent_list)."
"; print_r($parent_list)."
"; } if(count($parent_list)==0){ break; } else{ $word_list=array(); foreach($parent_list as $x=>$value){ array_push($word_list,$x); } } } //删除无效数据 $newOutput = array(); foreach($output as $value){ if($value["dict_name"]=="auto"){ if(isset($dict_word_spell["{$value["parent"]}"])){ array_push($newOutput,$value); } } else { array_push($newOutput,$value); } } if($debug){ echo ""; } if($debug){ echo "生成:".count($output)."
"; echo "有效:".count($newOutput)."
"; foreach($newOutput as $result){ echo "{$result["pali"]}-{$result["parent"]}-{$result["mean"]}
"; } $queryTime=(microtime_float()-$time_start)*1000; echo "
搜索时间:$queryTime 毫秒
"; } ?>