그누보드의 검색기능은 어느정도까지 좋을까요? 정보
그누보드의 검색기능은 어느정도까지 좋을까요?
본문
아래의 "어떤 무료 보드 프로그램이 최고인가?"라는 글을 쓰고 나서 한번 더 킴스큐에 갔다 왔습니다.
그러고 나니 문득 궁금한 것이 있어서 질문 한번 올려 봅니다.
보드 프로그램을 이용하여 통합검색을 했을 경우,
키워드가 5000개 이상이 되면 속도에 문제가 오기 시작한다네요..
검색되는 첫페이지와 다음 페이지들간에도 속도차가 많아지구요... 그래서 그걸 해결했다는데..
솔직히, 킴스큐제작자의 말대로라면 욕심이 나긴 나는군요.
검색 사용해 보니 장난이 아니었습니다.
DB에서 직접 인덱스를 검색하는 것은 속도에 안 좋은 영향이 있다는 말....
예전에 이지보드가 빨랐던 이유도 인덱스를 DB를 사용하지 않고 따로 관리했기 때문이므로 틀린 말은 아니라고 생각합니다.
지금 제가 만들려는 것이 5000개가 훨씬 넘어갈 것같은 데이터 분량입니다.
돈 많으면야 솔루션 구입이 최상이지만, 배우려는 의미도 있기 때문에 보드 프로그램을 쓸려고 고집하고 있습니다.
그누의 검색은 어떤 메커니즘으로 돌아가나요?
데이터분량이 한없이 많아진다고 가정할 때 걱정 안해도 될 정도인가요?
(이미 경험해 보신 분들도 경험담이 있으시면 공개를 부탁드립니다.)
그러고 나니 문득 궁금한 것이 있어서 질문 한번 올려 봅니다.
보드 프로그램을 이용하여 통합검색을 했을 경우,
키워드가 5000개 이상이 되면 속도에 문제가 오기 시작한다네요..
검색되는 첫페이지와 다음 페이지들간에도 속도차가 많아지구요... 그래서 그걸 해결했다는데..
솔직히, 킴스큐제작자의 말대로라면 욕심이 나긴 나는군요.
검색 사용해 보니 장난이 아니었습니다.
DB에서 직접 인덱스를 검색하는 것은 속도에 안 좋은 영향이 있다는 말....
예전에 이지보드가 빨랐던 이유도 인덱스를 DB를 사용하지 않고 따로 관리했기 때문이므로 틀린 말은 아니라고 생각합니다.
지금 제가 만들려는 것이 5000개가 훨씬 넘어갈 것같은 데이터 분량입니다.
돈 많으면야 솔루션 구입이 최상이지만, 배우려는 의미도 있기 때문에 보드 프로그램을 쓸려고 고집하고 있습니다.
그누의 검색은 어떤 메커니즘으로 돌아가나요?
데이터분량이 한없이 많아진다고 가정할 때 걱정 안해도 될 정도인가요?
(이미 경험해 보신 분들도 경험담이 있으시면 공개를 부탁드립니다.)
추천
0
0
댓글 3개

. 개발환경 : APM
. 사용제한 :
개인 및 영리, 비영리 불문하고 합법적이고 건전한 모든 사이트에서 사용할 수 있습니다.
프로그램 소스는 필요에 따라 자유롭게 수정할 수 있습니다.
프로그램 명칭, 관리자 로그 및 라이센스 변경은 별도의 협의를 거쳐야 합니다.
. 자료설명 : 프로그래머의 도움 없이 폼을 생성할 수 있는 프로그램입니다. 폼메일 생성 프로그램을 확장하여 폼메일 형태 뿐만 아니라 폼으로 입력된 데이터를 관리할 수 있는 기능을 제한 없이 만들어 사용할 수 있는 솔루션입니다.
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=download&wr_id=16030
. 사용제한 :
개인 및 영리, 비영리 불문하고 합법적이고 건전한 모든 사이트에서 사용할 수 있습니다.
프로그램 소스는 필요에 따라 자유롭게 수정할 수 있습니다.
프로그램 명칭, 관리자 로그 및 라이센스 변경은 별도의 협의를 거쳐야 합니다.
. 자료설명 : 프로그래머의 도움 없이 폼을 생성할 수 있는 프로그램입니다. 폼메일 생성 프로그램을 확장하여 폼메일 형태 뿐만 아니라 폼으로 입력된 데이터를 관리할 수 있는 기능을 제한 없이 만들어 사용할 수 있는 솔루션입니다.
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=download&wr_id=16030

다음 아고라 베스트 목록 가져오기..
주의점이 wget이 설치되어있어야하는거군요.
아래 소스를 리눅스 웹서버 적당한곳에 적당한 이름으로
바꾼후 접속하면..
DAUM 아고라 토론 최신 목록만 보입니다.
..
관리자께서 열받는다면.. 그냥 삭제해도 됩니다...
..
<?php
header('Content-Type: text/html; charset=utf-8');
echo "
<table border=0 align=center>
<tr>
<th><a href='http://agora.media.daum.net/debate/'>DAUM 아고라</a> :: </th>
<th><a href='?gubun=st1'>[최신순]</a></th>
<th><a href='?gubun=st2'>[조회순]</a></th>
<th><a href='?gubun=st3'>[찬성순]</a></th>
<th><a href='?gubun=st4'>[반대순]</a></th>
<td><a href='?gubun=free'>[자유토론BEST]</a></td>
<td><a href='?gubun=pol'>[정치BEST]</a></td>
<td><a href='?gubun=econo'>[경제BEST]</a></td>
</tr>
</table>
<hr>
";
// 최신순
$st1 = "http://bbs1.agora.media.daum.net/gaia/do/debate/agreeBasedBestArticleContent?bbsId=total?Day=&sortKey=";
// 조회순
$st2 = "http://bbs1.agora.media.daum.net/gaia/do/debate/agreeBasedBestArticleContent?bbsId=total?Day=&sortKey=readCount";
// 찬성훈
$st3 = "http://bbs1.agora.media.daum.net/gaia/do/debate/agreeBasedBestArticleContent?bbsId=total?Day=&sortKey=agreeCount";
// 반대순
$st4 = "http://bbs1.agora.media.daum.net/gaia/do/debate/agreeBasedBestArticleContent?bbsId=total?Day=&sortKey=disagreeCount";
//정치 베스트
$pol = "http://bbs1.agora.media.daum.net/gaia/do/debate/hot/agreeBasedBestArticleContent?bbsId=D101&sortKey=regDate";
// 자유토론 베스트
$free="http://bbs1.agora.media.daum.net/gaia/do/debate/hot/agreeBasedBestArticleContent?bbsId=D003&sortKey=regDate";
// 경제 베스트
$econo="http://bbs1.agora.media.daum.net/gaia/do/debate/hot/agreeBasedBestArticleContent?bbsId=D115&sortKey=regDate";
if ($_GET[gubun] ) $link = $$_GET[gubun];
else $link = $st1;
$link2 = str_replace("&","\\&",$link);
$link2 = str_replace("?","\\?",$link2);
$tmp_file = "__tmp_bada_tmp.txt";
$arr = exec("wget $link2 -O ./$tmp_file",$str);
$arr = file($tmp_file);
echo "<table border=1 align=center cellpadding=3>";
foreach($arr as $v){
if(eregi("bbs1.agora.media.daum.net/gaia/do/debate/read\?bbsId.*hisBbsId",$v)){
echo "<tr><th>".++$num."</th>";
echo "<td>" . strip_tags("$v","<a>") . "</td>";
}
if(eregi("ora.media.daum.net/profile/list\?key=.*&group_id=",$v)){
echo "<td>" . strip_tags("$v","<a>") . "</td>";
echo "</tr>";
}
}
echo "</table>";
echo "<hr><center><a href='$link'>[원래 거기로]</a></center>";
?>
주의점이 wget이 설치되어있어야하는거군요.
아래 소스를 리눅스 웹서버 적당한곳에 적당한 이름으로
바꾼후 접속하면..
DAUM 아고라 토론 최신 목록만 보입니다.
..
관리자께서 열받는다면.. 그냥 삭제해도 됩니다...
..
<?php
header('Content-Type: text/html; charset=utf-8');
echo "
<table border=0 align=center>
<tr>
<th><a href='http://agora.media.daum.net/debate/'>DAUM 아고라</a> :: </th>
<th><a href='?gubun=st1'>[최신순]</a></th>
<th><a href='?gubun=st2'>[조회순]</a></th>
<th><a href='?gubun=st3'>[찬성순]</a></th>
<th><a href='?gubun=st4'>[반대순]</a></th>
<td><a href='?gubun=free'>[자유토론BEST]</a></td>
<td><a href='?gubun=pol'>[정치BEST]</a></td>
<td><a href='?gubun=econo'>[경제BEST]</a></td>
</tr>
</table>
<hr>
";
// 최신순
$st1 = "http://bbs1.agora.media.daum.net/gaia/do/debate/agreeBasedBestArticleContent?bbsId=total?Day=&sortKey=";
// 조회순
$st2 = "http://bbs1.agora.media.daum.net/gaia/do/debate/agreeBasedBestArticleContent?bbsId=total?Day=&sortKey=readCount";
// 찬성훈
$st3 = "http://bbs1.agora.media.daum.net/gaia/do/debate/agreeBasedBestArticleContent?bbsId=total?Day=&sortKey=agreeCount";
// 반대순
$st4 = "http://bbs1.agora.media.daum.net/gaia/do/debate/agreeBasedBestArticleContent?bbsId=total?Day=&sortKey=disagreeCount";
//정치 베스트
$pol = "http://bbs1.agora.media.daum.net/gaia/do/debate/hot/agreeBasedBestArticleContent?bbsId=D101&sortKey=regDate";
// 자유토론 베스트
$free="http://bbs1.agora.media.daum.net/gaia/do/debate/hot/agreeBasedBestArticleContent?bbsId=D003&sortKey=regDate";
// 경제 베스트
$econo="http://bbs1.agora.media.daum.net/gaia/do/debate/hot/agreeBasedBestArticleContent?bbsId=D115&sortKey=regDate";
if ($_GET[gubun] ) $link = $$_GET[gubun];
else $link = $st1;
$link2 = str_replace("&","\\&",$link);
$link2 = str_replace("?","\\?",$link2);
$tmp_file = "__tmp_bada_tmp.txt";
$arr = exec("wget $link2 -O ./$tmp_file",$str);
$arr = file($tmp_file);
echo "<table border=1 align=center cellpadding=3>";
foreach($arr as $v){
if(eregi("bbs1.agora.media.daum.net/gaia/do/debate/read\?bbsId.*hisBbsId",$v)){
echo "<tr><th>".++$num."</th>";
echo "<td>" . strip_tags("$v","<a>") . "</td>";
}
if(eregi("ora.media.daum.net/profile/list\?key=.*&group_id=",$v)){
echo "<td>" . strip_tags("$v","<a>") . "</td>";
echo "</tr>";
}
}
echo "</table>";
echo "<hr><center><a href='$link'>[원래 거기로]</a></center>";
?>

원하는 날에, 원하는 곳에, 원하는 이미지 띄우기
특정한 날짜를 미리 입력해두고 그 날짜가 되면 자동으로 이미지를 출력해주는 팁 입니다.
여기서는 국경일에 태극기 이미지를 띄우는 예제로 설명하겠습니다.
<?
$holiday1 = "0101,0301,0717,0815,1001,1003,1009"; //경축일 국기게양 컴마(,) 구분하세요!
$holiday2 = "0606"; //조기 게양
$array_day1 = explode(",", $holiday1);
$array_day2 = explode(",", $holiday2);
$today = date("md");
$max1 = count($array_day1);
$max2 = count($array_day2);
for($i=0;$i<$max1;$i++) {
$data_day1 = $array_day1[$i];
if($data_day1 == $today) $holi_img = "<img src='../images/holi_1.gif' border=0 align=absmiddle>";
}
for($j=0;$j<$max2;$j++) {
$data_day2 = $array_day2[$j];
if($data_day2 == $today) $holi_img = "<img src='../images/holi_2.gif' border=0 align=absmiddle>";
}
?>
$holiday1 에 해당하는 날짜에는 $holi_img = "<img src='../images/holi_1.gif' border=0 align=absmiddle>"; 을
$holiday2 에 해당하는 날짜에는 $holi_img = "<img src='../images/holi_2.gif' border=0 align=absmiddle>"; 을
출력하라는 내용입니다.
위의 소스를 적당한곳(최상단에 넣으시거나 파일로 만들어 인클루드시켜도 되겠네요)에 삽입하고....
이미지가 출력될 위치에 아래의 코드를 넣어주면 됩니다.
<?=$holi_img?>
특정한 날짜를 미리 입력해두고 그 날짜가 되면 자동으로 이미지를 출력해주는 팁 입니다.
여기서는 국경일에 태극기 이미지를 띄우는 예제로 설명하겠습니다.
<?
$holiday1 = "0101,0301,0717,0815,1001,1003,1009"; //경축일 국기게양 컴마(,) 구분하세요!
$holiday2 = "0606"; //조기 게양
$array_day1 = explode(",", $holiday1);
$array_day2 = explode(",", $holiday2);
$today = date("md");
$max1 = count($array_day1);
$max2 = count($array_day2);
for($i=0;$i<$max1;$i++) {
$data_day1 = $array_day1[$i];
if($data_day1 == $today) $holi_img = "<img src='../images/holi_1.gif' border=0 align=absmiddle>";
}
for($j=0;$j<$max2;$j++) {
$data_day2 = $array_day2[$j];
if($data_day2 == $today) $holi_img = "<img src='../images/holi_2.gif' border=0 align=absmiddle>";
}
?>
$holiday1 에 해당하는 날짜에는 $holi_img = "<img src='../images/holi_1.gif' border=0 align=absmiddle>"; 을
$holiday2 에 해당하는 날짜에는 $holi_img = "<img src='../images/holi_2.gif' border=0 align=absmiddle>"; 을
출력하라는 내용입니다.
위의 소스를 적당한곳(최상단에 넣으시거나 파일로 만들어 인클루드시켜도 되겠네요)에 삽입하고....
이미지가 출력될 위치에 아래의 코드를 넣어주면 됩니다.
<?=$holi_img?>