RadarURL

조회 수 5943 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

검색어 자동완성기능 구현을 위한 전체 소스입니다.


추천 검색어 리스트 파일로부터 추천 검색어 DB 파일을 생성한 후 실제 웹페이지에서 검색어를 입력했을 경우, 추천 검색어가 출력하는 데모 페이지까지의 전체 파일이 들어있습니다.


 


소스 안에 이것저것 쓸만한 모듈이 많이 있네요..


B-TREE 관련 모듈과... iconv를 wrap한 클래스도 있습니다. iconv는 문자 인코딩과 관련된 라이브러리 입니다.


또 AJAX를 이용해 웹브라우져에서 검색어 자동완성기능이 구현되어있는데, AJAX와 관련된 소스는 Ajax 입문(타카하시 토시로 저, 한빛 미디어) 책 소스를 그대로 참조하였습니다. 원래 소스는 z.html 이라는 파일에서 php 파일로 데이터를 전송하는데, 이 부분만 제가 만든 cgi 파일로 전송하도록 바꾸었습니다.AJAX에 관한 설명은, 이 쪽은 제 전문분야가 아니라서 생략하도록 하겠습니다. 저도 잘 모르구요..


 


프로그램을 테스트 해보기 위해서는, word_list.txt 파일을 수정하고, make_suggest_word_list 프로젝트를 컴파일 해 실행하여, 추천 검색어 DB를 생성하고, suggest.exe를 실행해보면 됩니다.


suggest.exe를 콘솔에서 실행하면 다음과 같은 창이 실행되는데, 임의의 문자열을 입력하면, 그 문자열로 시작하는 추천 검색어 리스트가 출력되는 것을 확인할 수 있습니다.


 


웹브라우져로 결과를 확인하고 싶다면, IIS를 이용해 웹서버를 설치한 후, 웹 브라우져로 http://127.0.0.1/suggest.html와 같은 주소로 suggest.html 파일을 열어서 확인해 보면 됩니다.


 


suggest.html에서 텍스트박스에 문자열을 입력하면, z.html 안에 선언된, 키 핸들러가 실행되고, 이 키 핸들러 안에서는 입력된 문자열을 suggest.exe에 전송하는 역할을 합니다. 그러면, suggest.exe에서는 qDecoder 라이브러리를 이용해 문자열을 받아서, 입력받은 문자열로 시작되는 검색어 리스트를 다시 z.html로 전송합니다. z.html에서는 이 검색어 리스트를 받아서 출력하는 것이지요..


 


하지만, 영어로 시작하는 추천 검색어 출력같은 경우에는, 2글자를 입력한 후에 인식되는 버그가 html 소스 안에 있습니다. html 소스는 책에 있는 소스를 그대로 사용하였기 떄문에, 어떤 부분이 문제가 있는지 잘 모르겠군요...


 


아래는 위 프로그램의 추천 검색어 리스트 파일과 실제 실행 화면이구요...


 


필요하신 분들은 가져다 쓰도록 하세요~


 


 


왼쪽은 추천 검색어, 오른쪽 숫자는 추천 검색어의 중요도 입니다. 높을수록 리스트에서 위에 나타나죠


 



 

 

 

콘솔에서 실행 화면




 


 


 


 


 


 


 


웹 브라우저에서의 실행화면




 출처 : http://blog.naver.com/hivaless?Redirect=Log&logNo=80032951792
?

공부 게시판

공부에 도움되는 글을 올려주세요.

  1. No Image notice by 처누 2003/08/18 by 처누
    Views 928091 

    [공지] 공부 게시판 입니다.

  2. http를 https로 리다이렉트하는 여러가지 방법

  3. SSL인증서 없이 HTTPS에서 HTTP로 되돌리기

  4. [SSL] win-acme, Let's encrypt로 무료 SSL 인증서 발급

  5. [SSL] Windows 10에서 Let's Encrypt로 SSL 인증서 무료 발급받기

  6. 무료로 https SSL/TLS 인증서를 발급받을 수 있는 인증 기관

  7. 아파치 서버에 https SSL 인증서 적용하는 방법 (apache httpd)

  8. 아파치2(Apache2) SSL HTTPS 적용하기

  9. 아파치 웹서버에 멀티 도메인에 대한 80, 443 포트 설정하는 방법

  10. Google Photo 대신 Immich를 써보자

  11. 남자 혹은 여자 진국 팁

  12. MBTI검사 16가지 유형 “간단 명료”하게 정리!

  13. [사진관리] PhotoPrism vs LibrePhoto 비교 소감

  14. MDF실, TPS실, EPS실 이게 뭘까?

  15. 알아두면 좋은 직장인 용어 정리

  16. 감기·독감·코로나19의 차이점, 신촌연세병원과 함께 알아봅시다.

  17. 집주인이 전세 보증금을 돌려주지 않을 때

  18. 자전거 타이어 종류 및 추천 2편 (승차감 타이어, 국토종주!)

  19. 오도바이 센타 사장들은 어떤 브랜드를 싫어하고 좋아할까? [출처] 오도바이 센타 사장들은 어떤 브랜드를 싫어하고 좋아할까?|작성자 바이크신

  20. 윈도우 자동 로그온 설정이 보이지 않을 때 조치사항

  21. 갤럭시S22 시리즈에서 SKT LTE 무제한 핫스팟 쓰는 방법! (SKT LTE 요금제만 해당!)

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 124 Next
/ 124


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너