てすと

MySQLの全文検索で使うために作ったやつ

MySQLの全文検索で使うために作ったやつ

  • タグ:
  • タグはありません
function parseTextForGroonga ($keyword) {
	$inputKeyword = $keyword;
	$inputKeyword = mb_ereg_replace(' ',' ',$inputKeyword);
	$inputKeyword = str_getcsv($inputKeyword, ' ', '"');
	
	$searchString = array_shift($inputKeyword);
	$inBooleanMode = false;
	if (count($inputKeyword) > 0) {
		$orFlg = false;
		
		foreach ($inputKeyword as $k) {
			if (strlen($k) < 1) continue;
			
			if ($orFlg == false) {
				if (substr($k,0,1) == '-') {
					$searchString .= ' ';
				} else if (strtoupper($k) == 'OR') {
					$searchString .= ' OR ';
					$orFlg = true;
					continue;
				} else {
					$searchString .= ' +';
				}
			} else {
				$orFlg = false;
			}
			
			$searchString .= $k;
			$inBooleanMode = true;
		}
	}
	
	return array('text'=>$searchString,'mode'=>$inBooleanMode);
}