예전에 블로그에 글을 쓸 때 검색의 중요성에 대해 글을 적었습니다.

'글쓰기에서 검색, 참조의 중요성'

이 글을 적고나서 글을 적을때마다 제 블로그를 검색하였습니다.

이 때 쓰이는 도구가 '이글루 파인더'와 '구글 site명령어'였습니다.

 

그런데 이글루 파인더는 최근 속도가 많이 느려졌습니다.

그래서 답답하더군요.

구글은 좋기는 하지만, site를 일일이 넣어야 하는 불편함이 있었습니다.

물론 이것도 자동으로 할 수 있지만 귀찮더군요.^^;;

 

그러던차에 KLDP에서 검색창이 구글에서 엠파스로 바뀐 것을 확인하였습니다.

Geek이 많다는 KLDP에서 쓰는 것을 보니 왠지 믿음이 가더군요.^^;;

그래서 제 블로그를 검색해보았습니다.

엠파스에서 블로그 검색은 'blog'명령어를 쓰면 됩니다.

(관련 글 보기)

제대로 나오더군요.

그래서 쓰기 편하게 이글루스 안에 검색창을 넣기로 하였습니다.

 

엠파스 검색창은 다음 문서에서 제공합니다.

'검색창달기'

여기서 제공하는 HTML에 수정을 하였습니다.

즉, 검색어로 넣은 값 뒤에 " blog:nosyu.egloos.com"을 넣는 코드를 넣었지요.

그러니 안된다고 하더군요.

submit은 금지어라고 합니다.

어떤 방법을 취했냐하면

onsubmit으로 이벤트를 알아내어 처리를 한 것이지요.

 

그럼 이 방법이 아닌 다른 방법을 찾다가 한 곳을 발견하였습니다.

'검색엔진 루씬 Lucene...'

루씬 검색 사이트인데, 오른쪽에 보니 루씬 검색창이 있더군요.

해당 소스를 보니 form객체를 쓰지 않고 onclick, onKeydown을 썼습니다.

거기에 힌트를 얻어 변형시켰습니다.

(힌트를 얻었다기보다는 거의 그대로 가져왔습니다.)

잘 되더군요.^^

 

그럼 코드를 공개하겠습니다.

코드 보기

너무 조잡하네요.^^;;

 

방법은 다음과 같습니다.

디자인은 엠파스에서 제공한 HTML은 Table코드를 쓰기에

배경을 없애고 DIV로 바꾸었습니다.

코드는 엠파스 통합검색페이지인

'http://search.empas.com/search/all.html' 뒤에

q변수를 넣어 그 변수안에 검색어를 넣었습니다.

이 때 검색어 뒤에 ' blog:nosyu.egloos.com'을 붙였습니다.

실행은 event.keyCode가 13 즉, 엔터가 눌러지거나

'검색' 그림을 클릭했을 때 실행이 되도록 하였습니다.

 

다른 이글루분들이 쓰시려면 'nosyu.egloos.com'을

본인의 이글루스 주소로 넣으시면 됩니다.

 

이거 삽질하느라 하루가 걸렸습니다.

전 처음부터 통합검색이 아닌 블로그 검색으로 가게하려고

'http://search.empas.com/search/ob.html'에 접근했습니다.

그러자 파폭에서 제대로 작동하지 않더군요.

이유는 해당 페이지가 UTF-8을 지원하지 않아서였습니다.

그래서 자바스크립트로 별의별 짓을 다 했지만,

모두 실패하였습니다.

(덕분에 escape함수라던가 한글 인코딩에 대해 배웠습니다.)

그러다 통합검색 페이지로 접근하니 잘 되더군요.;;;

(내 하루를 돌려도~~!!)

 

이 검색창에 문제점이 있습니다.

첫 째로 검색어를 넣고 엔터를 칠 경우 팝업차단을 실행시킵니다.

그러나 검색 버튼을 누르면 그렇지 않더군요.

이는 아마 javascript 구문 때문인 듯 싶습니다.

그래서 엔터를 없앨까 생각해보았지만,

검색을 할 때 검색 버튼을 누르는 것보다 엔터가 많을 듯 싶어

일단 지우지 않았습니다.

 

둘 째로 디자인 문제입니다.

검색 input text와 검색 버튼 사이의 간격을 위해

margin을 넣었더니 파폭에서는 제대로 나오는데,

IE6에서는 개행이 되어버리네요.

같은 코드에 두 프로그램이 다르게 작동하니 황당할 따름입니다.

 

셋 째로 현재 IE6와 FF2에서만 확인했습니다.

IE7과 Opera등에서는 어떻게 작동되는지 잘 모르겠습니다.

이는 확인 후 덧글로 추가하도록 하겠습니다.

 

마지막으로 이 검색창을 쓰는 것을

이글루스나 엠파스에 허락을 받아야 하는가 모르겠습니다.

엠파스에서는 페이지로 공개를 하고 있으니 괜찮은 듯 싶으나

이글루스에서는 어떻게 생각할지 모르겠군요.

그러나 '같은 회사(는 아니고, 같은 주주인가요?)끼리

서비스를 공유해야 모두 잘 살 수 있죠.'라는 핑계를 댈 예정입니다.^^;;

 

결론적으로 문제점이 많은 코드입니다.

다른 분들의 피드백 부탁드립니다.^^

 

참조

http://www.kldp.org

http://www.empas.com

http://lucene.egloos.com

크리에이티브 커먼즈 라이선스
Creative Commons License

글에 잘못된 점, 다른 점, 부족한 점이 있다면 지적해주세요.
댓글, 트랙백, 메일 모두 고맙습니다.

트랙백 주소 :: http://nosyu.pe.kr/trackback/879

댓글을 달아 주세요

  1. NoSyu 2007/05/09 14:48  댓글주소  수정/삭제  댓글쓰기

    바로 문제가 발생했네요.
    IE6에서는 한글이 제대로 작동되지 않는군요.OTL.....

    파폭에서 안되는 것을 고치기 위해 노력했더니 이제 IE6에서 안되고 있으니....
    어렵습니다.ㅜㅜ

  2. NoSyu 2007/05/09 14:53  댓글주소  수정/삭제  댓글쓰기

    encodeURI함수를 쓰는 것을 깜박했습니다.^^;;;
    그래서 해결 보았습니다.^^

  3. 레무네아 2007/05/09 15:12  댓글주소  수정/삭제  댓글쓰기

    대충 알거같습니다...
    (전혀모르겠다는 이야기입니다...털석...)

  4. NoSyu 2007/05/09 15:17  댓글주소  수정/삭제  댓글쓰기

    /레무네아/
    자.. 제 손을 잡으세요~

  5. 사바욘의_단_울휀스 2007/05/09 18:40  댓글주소  수정/삭제  댓글쓰기

    어쨋든 저코드를 메모장에 사용할수 있다는것이군요^^

  6. NoSyu 2007/05/09 19:00  댓글주소  수정/삭제  댓글쓰기

    /사바욘의_단_울휀스/
    네.. 그렇습니다.^^

  7. 頭文字-K 2007/05/10 09:58  댓글주소  수정/삭제  댓글쓰기

    검색창 붙이기...
    ......................

    프로그램적 부분은 하나도 몰라서 저로서는 이해못하는 부분...
    (만약에 가능하다면 아마도 전... 남들과는 다른 검색창을 붙일지도(...))

  8. NoSyu 2007/05/10 10:02  댓글주소  수정/삭제  댓글쓰기

    /頭文字-K/
    다른 검색창이라...
    하긴 저도 엠파스가 아닌 다른 것을 써보려고 했으나,
    마땅히 떠오르는 것이 없어서 엠파스로 했답니다.^^;;

  9. 레무네아 2007/05/10 12:07  댓글주소  수정/삭제  댓글쓰기

    복사해서 그냥 메모장에 붇여넣기 하면 되나요?

  10. NoSyu 2007/05/10 12:25  댓글주소  수정/삭제  댓글쓰기

    /레무네아/
    복사하셔서
    'blog nosyu.egloos.com'을 'blog lemnear1.egloos.com'으로 바꾸신 후
    붙여넣기 하시면 됩니다.

  11. NoSyu 2007/05/11 15:35  댓글주소  수정/삭제  댓글쓰기

    문제점 발생
    '과목'이라는 검색어를 넣으면 이상한 검색어가 날라갑니다.
    '한글'이라는 검색어를 넣으면 제대로 작동합니다.
    한글 윈도우 XP - FF2.0.0.3

  12. NoSyu 2007/05/11 16:44  댓글주소  수정/삭제  댓글쓰기

    '그림'이라고 해도 안됩니다.
    '과정'이라고 하면 됩니다.
    '과모'라고 하면 안됩니다.
    '과메'라고 하면 됩니다.

    이유를 잘 모르겠네요.ㅜㅜ
    이래서 컴퓨터 잘하려면 원론적인 것을 잘 알아야 하는가 봅니다.

  13. NoSyu 2007/05/12 18:06  댓글주소  수정/삭제  댓글쓰기

    메모장을 수정하니 해당 구문이 자동으로 삭제되네요.ㅜㅜ
    이글루스에 알렸더니 그걸 막았나봅니다.^^
    아쉽지만 다음부터는 은밀하게..(엉??)

[로그인][오픈아이디란?]