TIP게시판

제목 게시판 등 검색시.
글쓴이 Snooey 작성시각 2012/11/26 18:09:15
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 12235   RSS

ci active record 기준입니다.

작업하다보니 딱히 단어단위 검색기술(?)에 관해 정리된 게 없는 듯 하여 정리합니다,

소스:

        if ($query!='') { //data가 들어오면 
            $query=preg_split('/[,\s\.]/', $query, -1, PREG_SPLIT_NO_EMPTY); //문구 중 공백문자, 쉼표, 마침표가 있으면 그 단어를 구분자로 쪼갬
             
            $this->db->where('id !=',''); // or_like를 바로 쓸 때를 대비함
            foreach ($query as $val){
                if($val=='') continue; 
                $this->db->or_like('title', $val);
            }
        }


일단 기준이 단어 중 하나라도 충족한 결과를 얻어오자 입니다. 검색어가 많아지면 많아질 수록 자료량도 늘어나겠지요.:(

 다음글 컨트롤러에서 컨트롤러 부르기 (5)
 이전글 codeigniter 에서 minify 구현하기 (4)

댓글

한대승(불의회상) / 2012/11/26 18:48:46 / 추천 0
좋은 방법이네...

더불어 속도도 느려지겠네요... ^^

게시물이 많을땐 주의해서 사용하셔요...
변종원(웅파) / 2012/11/26 21:14:00 / 추천 0
php로 된 형태소 분석 소스가 있습니다. 좀 오래된 것인데 그래도 잘 작동합니다.
그걸로 자연어를 먼저 돌리면 명사만 나옵니다. 
명사만 가지고 검색~ ^^