인덱싱을 이용한 검색엔진은 아니지만, 일단 초보적인 수준에서나마 검색어 자동완성에 성공했습니다.

검색창에 키워드를 입력하면 모듈 내의 게시물 제목을 자동으로 뿌려주는 방식으로요.

 

처음엔 live search로 문서 목록에 바로 반영되도록 해볼까도 했는데, 그렇게 하면 document_list의 list_count를 total_count로 잡았다가 다시 module_info->list_count로 슬라이스하는 등 과정이 복잡할 것 같더라구요.

그래서 일단은 그냥 jquery ui의 autocomplete 메소드를 이용해서 검색어 자동완성 기능으로만 적용해봤습니다.

 

var docTitle = [];
jQuery.exec_json(
    'board.dispBoardContentList',
    {mid: current_mid, list_count: '{$total_count}'},
    function(data){
        for (i=0; i<'{$total_count}'; i++){
            docTitle.push(data.document_list[i].title);
        };
    }
);
jQuery(function() {
    jQuery('검색 인풋창의 id 또는 class').autocomplete({
        source: docTitle
    });
});

(참고로 위의 소스처럼 list_count를 제어하기 위해선 https://xetown.com/qna/376302 댓글에 달린 후하니님이나 기진곰님의 코멘트를 적용해야 합니다. ㅎㅎ)

 

일단 이렇게 했더니 확실히 사이트에 부하가 걸리는 것 같기도 하고 그럽니다ㅋㅋ

아직은 문서 갯수가 10개밖에 안 되는 블로그인데 괜한 호들갑 같기도 하고...

 

ajax 호출로 헤매고 있을 때 광명의 빛을 주셨던 팦팦님을 비롯해서, 그동안 도움 말씀 주셨던 개발자님들께 진심으로 감사의 말씀을 드립니다~

덕분에 당분간은 발 뻗고 정상 생활을 할 수 있게 됐습니다 ^^/

윤삼

profile
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
  • profile
    와우.... 대단합니다!
  • profile profile
    흐뭇하지 않으십니까.
    XE타운을 통해 성장하는 웹마스터 윤삼입니다ㅋ
  • profile
    고생 하셨습니다 ^^
  • profile profile
    이제 슬슬 회원 메모 모듈 피드백 들어갑니다잉~
  • profile
    역시 고삼다음 ㅎ윤삼님ㅎ
    윤삼님은 가끔 저를 깜짝 놀래키십니다.ㅎㅎㅎ
    좋은 정보 한번 접목을 ^^
  • profile profile
    서버 부하를 생각해보면 실사용엔 한계가 있는 걸요ㅎ 그냥 습작이에용
  • profile profile
    ㅎㅎ일단 만든다는것 자체가 대단하신거죠 ㅎ
    짱이세욥 ㅎ