\n");
		exit();
	}
	
// Stage 1: allocate UdmSearch agent, set DBAddr and DBMode
// DBMode is optional, "single" by default

	$udm=Udm_Alloc_Agent("mysql://udm:udm@localhost/udm/",'single');	
	
// Stage 2: set search parameters

	$page_size=10;
	$page_number=0;
	
	Udm_Set_Agent_Param($udm,UDM_PARAM_PAGE_SIZE,$page_size);
	Udm_Set_Agent_Param($udm,UDM_PARAM_PAGE_NUM,$page_number);
	Udm_Set_Agent_Param($udm,UDM_PARAM_SEARCH_MODE,UDM_MODE_BOOL);
	Udm_Set_Agent_Param($udm,UDM_PARAM_CACHE_MODE,UDM_CACHE_DISABLED);
	Udm_Set_Agent_Param($udm,UDM_PARAM_TRACK_MODE,UDM_TRACK_DISABLED);
	Udm_Set_Agent_Param($udm,UDM_PARAM_CHARSET,"koi8-r");
//	Udm_Set_Agent_Param($udm,UDM_PARAM_STOPTABLE,"stopword");
//	Udm_Set_Agent_Param($udm,UDM_PARAM_STOPFILE,"stop.txt");
	Udm_Set_Agent_Param($udm,UDM_PARAM_WEIGHT_FACTOR,"F9421");
	Udm_Set_Agent_Param($udm,UDM_PARAM_WORD_MATCH,UDM_MATCH_WORD);
	Udm_Set_Agent_Param($udm,UDM_PARAM_PHRASE_MODE,UDM_PHRASE_DISABLED);
	Udm_Set_Agent_Param($udm,UDM_PARAM_MIN_WORD_LEN,2);
	Udm_Set_Agent_Param($udm,UDM_PARAM_MAX_WORD_LEN,16);
	Udm_Set_Agent_Param($udm,UDM_PARAM_PREFIX,UDM_PREFIX_DISABLED);

//	if (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_DB,'','',1)) {
//		printf("Error #%d: '%s'\n",Udm_Errno($udm),Udm_Error($udm));
//		exit;
//	}

//	if ((! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_AFFIX,'en','/opt/udm/ispell/en.aff',0)) ||
//         (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SPELL,'en','/opt/udm/ispell/en.dict',1))) {
//		printf("Error #%d: '%s'\n",Udm_Errno($udm),Udm_Error($udm));
//		exit;
//	}


// Stage 3: add search limits
//	Udm_Add_Search_Limit($udm,UDM_LIMIT_URL,"http://www.mydomain.com/%");
//	Udm_Add_Search_Limit($udm,UDM_LIMIT_TAG,"01");
//	Udm_Add_Search_Limit($udm,UDM_LIMIT_CAT,"01");
//	Udm_Add_Search_Limit($udm,UDM_LIMIT_LANG,"en");
//	Udm_Add_Search_Limit($udm,UDM_LIMIT_DATE,"<908012006");

//      Udm_Clear_Search_Limits($udm);
	
// Stage 4: perform search 

	$res=Udm_Find($udm,$q);	

// Stage 5: display results

	// Check error code
	if(($errno=Udm_Errno($udm))>0){
		// Display error message
		printf("Error #%d: '%s'\n",$errno,Udm_Error($udm));
	}else{
		$first=$page_size*$page_number+1;
		
		// Get result parameters
		$total=Udm_Get_Res_Param($res,UDM_PARAM_FOUND);
		$rows=Udm_Get_Res_Param($res,UDM_PARAM_NUM_ROWS);
		$wordinfo=Udm_Get_Res_Param($res,UDM_PARAM_WORDINFO);
		$searchtime=Udm_Get_Res_Param($res,UDM_PARAM_SEARCHTIME);
		$first_doc=Udm_Get_Res_Param($res,UDM_PARAM_FIRST_DOC);
		$last_doc=Udm_Get_Res_Param($res,UDM_PARAM_LAST_DOC);

		printf("Searchtime: ".$searchtime."\n\n");

		printf("Documents %d-%d from %d total found; %s\n\n",
			$first_doc,$last_doc,$total,$wordinfo);

		// Fetch all rows
		for($i=0;$i<$rows;$i++){
			printf("%3d. %s\n",$first+$i,Udm_Get_Res_Field($res,$i,UDM_FIELD_URL));
			printf("     ORDER : %d\n",Udm_Get_Res_Field($res,$i,UDM_FIELD_ORDER));
			printf("     CONT : %s\n",htmlspecialchars(Udm_Get_Res_Field($res,$i,UDM_FIELD_CONTENT)));
			printf("     TITLE: %s\n",htmlspecialchars(Udm_Get_Res_Field($res,$i,UDM_FIELD_TITLE)));
			printf("     KEYWORDS: %s\n",htmlspecialchars(Udm_Get_Res_Field($res,$i,UDM_FIELD_KEYWORDS)));
			printf("     DESC: %s\n",htmlspecialchars(Udm_Get_Res_Field($res,$i,UDM_FIELD_DESC)));
			printf("     TEXT: %s\n",htmlspecialchars(Udm_Get_Res_Field($res,$i,UDM_FIELD_TEXT)));
			printf("     SIZE : %d\n",Udm_Get_Res_Field($res,$i,UDM_FIELD_SIZE));
			printf("     MODIFIED : %s\n",Udm_Get_Res_Field($res,$i,UDM_FIELD_MODIFIED));
			printf("     URLID : %d\n",Udm_Get_Res_Field($res,$i,UDM_FIELD_URLID));
			printf("     RATING : %d\n",Udm_Get_Res_Field($res,$i,UDM_FIELD_RATING));
			printf("     CRC : %d\n",Udm_Get_Res_Field($res,$i,UDM_FIELD_CRC));
			printf("---------\n");
		}
				
		// Free result
		Udm_Free_Res($res);
	}

//Stage 6: free ispell data if loaded before
//	Udm_Free_Ispell_Data($udm);

//Stage 7: free UdmSearch agent

	Udm_Free_Agent($udm);
?>