옵션 |
|
php & sql기반으로 역색인 파일을 이용한 검색엔진을 만들고 있습니다. 알고리즘상 문제가 있어서 질문을 드립니다.
문서들의 집합 DB에서 content를 preg_replace로 빈칸과 특수문자를 다 나누고 str_split로 2글자씩 끊어서 역색인 DB에 저장을 하려고 합니다.
문제는 끊고 나서 역색인 DB로 저장할 때 나는 이미 문서들의 집합 DB를 사용중이기 때문에 select * from doc 상태입니다.
역색인 파일DB로 저장하기 위해 select * from rever 후 다시 문서들의 집합 DB로 돌아와서 2번째 행의 content를 쪼개고 저장할때
무한루프를 돌게 됩니다... DB를 동시에 2개가 select가 안될텐데 어떻게 해야 할까요?
다른 방법으로 쪼개는 php와 역색인에 넣는 php를 따로 만들어서 쪼개는 php에서 값을 넘기고 싶은데
생각해보니 <form method="post" action="rever.php">에 php를 가두고 넘겨도 안넘어와 지네요ㅠㅠ
방법이 없을까요?
while($row = mysql_fetch_array($result))
{
$dnoun_tmp = preg_replace("[\(|\)|\ㆍ|\ |\[|\]|\{|\}|\,|\.|\·|\?|\!|\'|\\|\"]", "", $row[content]);
$arr = mb_str_split($dnoun_tmp);
$a = count($arr);
$tablename = "rever";
$sql = "select * from $tablename"; // table의 모든 데이터를 가져옴
$result = mysql_query($sql) or die (mysql_error()); // 쿼리문 시작
for ($i = 0; $i <$a; $i++)
{
$sql = "INSERT INTO `g`.`rever` (
`num` ,
`text` ,
`doc_num`
)
VALUES (
NULL , '$arr[$i]', '1'
);";
$result = mysql_query($sql) or die (mysql_error());
}
//echo ($dnoun_tmp);
}
출처 | 내 머릿 |