Search engine
Web2hub wiki
목차 |
정의
- 검색엔진은 World Wide Web 이나 Computer System에 저장되어 있는 정보를 찾는데 도움을 주는 프로그램이다.
- 검색엔진은 유저의 질의를 받은 후, 해당 질의와 관련있는 내용을 포함하는 목적지(웹페이지나 파일)들의 리스트를 보여준다.
- 검색엔진은 주기적으로 업데이트되는 인덱스를 사용하여 빠르고 효과적으로 정보에 접근한다.
- "검색엔진"이라고 불리는 사이트들 자체는 대부분 자사가 소유하고 있는 검색엔진들의 인터페이스 역할을 한다.
기술
문서 수집
문서 수집은 Crawler(Spider, Robot) 엔진의 역할이다. Crawler는 여러 웹페이지를 옮겨다니면서 페이지들을 받아온다. Crawler는 주로 seed 페이지에 나와 있는 링크들을 따라서 다음 페이지로 넘어가고, 그 페이지에서 또 다시 링크를 찾은 후 그쪽으로 가면서 페이지를 수집하게 된다.
인덱싱(indexing)
수집한 페이지들에서 필요한 부분을 뽑아서 질의를 위해 인덱싱을 하게 된다.
Inverted index
Inverted Index를 만들기 위해서 모든 문서들의 집합을 분석한다. 분석하는 과정에서 Stopword List에 있는 단어들은 제거한다. Stopword List는 일반적으로 매우 자주 나타나는 단어들의 집합으로 주로 조사, 전치사, 대명사 등을 포함한다. Stopword를 제거한 후, 각 문서가 포함하는 모든 단어들에 대해서 거꾸로 각각의 단어에 대해서 그들을 포함하는 문서들의 ID와 매핑시켜준다. 이런 식의 자료구조를 만들게 되면, 특정 질의어가 입력되었을때 그 질의어를 포함하는 문서들의 집합을 효율적으로 찾아낼 수 있게 된다.
형태소 분석
영어 문서는 주로 공백으로 단어의 경계가 구분되지만, 한국어의 경우에는 공백만으로 구분하게 되면 제대로 의미를 분석해 낼 수 없고, redundancy가 많아지므로 형태소 분석을 하여 단어들을 normalize시켜야 한다. 따라서, 한국어 문서의 경우 Stopword 제거 이외에 형태소 분석 과정이 들어가게 된다. 형태소 분석을 통해 단어들을 normalize 하여 저장을 하고, 검색을 할때 질의어를 다시 normalize시켜 비교를 하게 되면, 보다 더 효율적으로 저장 및 질의가 가능해진다.
- 예
- 문서는 : 문서+는 -> 문서(normalized)
- 경우에는 : 경우+에+는 -> 경우(normalized)
장단점
inverted index를 사용하게 되면 질의에 대한 빠른 응답이 가능하다. 인덱싱이 되어있지 않은 경우에는 질의가 들어오면 직접 파일을 읽으면서 검색을 하게 되지만, 인덱싱이 되어있다면 인덱스 데이터베이스의 inverted index 구조를 사용하여 단어가 나타나는 문서를 빨리 찾아낼 수 있다. 따라서 인덱싱이 되어있다면 속도가 훨씬 빠르지만, 마지막으로 인덱싱을 한 후에 파일이 없어지거나 새로 생기거나 내용이 바뀌었다면 정확한 검색을 할 수 없게 된다. 따라서 웹 검색엔진에서는 멈추지 않고 인덱싱을 계속 하게 된다.
참고 자료
질의(query)
보통, 키워드들의 조합을 사용자가 입력함으로써 질의를 하지만, 다음과 같은 발전된 질의 시스템도 존재한다.
자연언어질의
Ask Jeeves에서 사용했던 시스템으로, 자연언어문장으로 질의를 보내면 질문을 서버쪽에서 해석을 한 후, 해당 결과 페이지들의 리스트를 다시 보내주도록 하는 방식이다.
Autocomplete
Ajax를 사용하여 질의를 타이핑하는순간 서버에서 해당 결과를 받아와서 그 키워드를 포함하는 질의어들 중 가장 인기있는 질의어들을 추천해주는 방식이다.
웹 검색엔진
보통 검색엔진이라고 하면 World Wide Web의 정보를 찾는 웹 검색엔진을 뜻한다.
국외
Snap
Snap 검색엔진은 Pay-per-click이라는 방식을 사용하는데, 이것이 의미있게 하기 위해서 해당 사이트의 snapshot을 찍어서 방문하기 전에 미리 보여주고 방문을 할 지 안할지 결정할 수 있도록 한다. 처음에 검색창에 질의어를 입력하면, 입력하는 순간 Ajax를 사용하여 바로 해당 키워드를 포함하는 질의어들중에서 가장 인기있는 질의어들의 순위를 보여주고, 사용자는 그중 하나를 선택해서 들어갈 수 있다. 일단 하나의 질의어를 선택하게 되면, 창이 양쪽으로 갈라지고, 왼쪽에는 해당 사이트들의 주소와 요약 텍스트를 보여주고, 그중 하나를 선택하면, 오른쪽에서 해당 사이트의 snapshot을 보여준다. 따라서 사용자가 그 사이트를 방문하기 전에 미리 그 사이트에 대해서 어느정도 판단을 할 수 있게 되고, pay-per-click이라는 방식이 돌아갈 수 있게 된다.
- 참고
A9.com
Amazon.com의 검색엔진이다. 검색 결과는 Google, Alexa, Amzaon.com, 그리고 다른 엔진들을 각각의 목적에 맞게 사용하여 보여준다. A9은 다른 유명한 검색엔진들이 부족한 많은 기능을 갖고 있다. 예를 들어, Amazon.com의 정보를 사용하여 책의 내용을 검색할 수 있게 하는 "Search Inside the Book" 기능이 있다. Google의 Seach History기능처럼 사용자들은 자신들이 검색하고 클릭했던 내용들을 볼 수 있다. A9 툴바는 검색 일기(search diary) 기능을 통해 사용자들이 자신들이 방문했던 페이지들에 대해서 메모를 할 수 있도록 한다. 또다른 기능으로는, 검색 syndication과 aggregation을 위한 OpenSearch이 있다.
A9.com은 다음과 같은 여러가지 검색방식을 사용한다.
* Google은 일반 웹검색과 이미지검색에 사용된다. * Amazon.com은 "Search Inside the Book"에 사용된다. * Answers.com은 참조 관련 데이터베이스 질의에 사용된다. * Wikipedia는 백과사전 항목에 사용된다. * Zoominfo는 사람들에 대한 요약을 위해 사용된다. * IceRocket은 블로그 검색에 사용된다. * A9은 사용자 히스토리를 검색한다. * IMDB을 사용하여 영화 검색을 한다. * 이 외에도 다른 검색엔진들이 사용될 수 있다.meta검색을 한꺼번에 할 수 있는데, 그림에서처럼 각 항목별로 column이 생기면서 검색 결과가 나온다. 너무 많은 항목에서 검색을 하게 되면 그림에서처럼 혼란스러운 상태가 된다. 또한, 각 column의 width를 실시간으로 조절할 수 있다.
A9은 여러가지 논쟁을 일으켰다. A9는 사용자들의 검색 질의를 기록하고 그것을 그 사람의 Amazon.com의 계정으로 연결시키기 때문에 어떤 사람들은 spyware라고 생각한다. 어떤 사람들은 A9.com이 데이터 마이닝을 사용하여 타겟광고를 하려고 한다고 생각한다. A9은 또한 사생활 침해를 걱정하는 사용자들을 위해 로그인할 필요가 없는 Generic A9이라는 사이트도 제공한다. 2005년 1월에 A9.com은 BlockView 기능을 추가하였다.
- 참고
Accoona
Accoona 검색 엔진은 인공지능을 사용하여 더 나은 검색을 제공한다고 한다. 일반적인 검색 이외에 business profile 검색 기능을 제공하고, SuperTarget 기능을 사용한 검색 서비스도 제공한다.
Business Profile 검색 Accoona 는 전 세계의 회사들에 대한 정보의 가장 큰 데이터베이스를 제공한다고 한다. 이 중, 500만개 이상의 회사가 중국에 소재한다. 그림에서도 나와있듯이, 대부분이 중국과 미국 회사이다.
SuperTarget Accoona의 SuperTarget기능은 사용자가 하나의 키워드를 선택해서 검색 결과에서 그 키워드의 우선 순위가 높도록 순위를 결정한다.
Partnerships Accoona는 중국의 큰 포털사이트인 Chinadaily.com.cn 과의 20년 독점 파트너쉽 계약을 했다. 이 파트너쉽을 통해서 Accoona는 Chinadaily와 Chinadaily의 제휴회사들로부터 하루에 1000만 히트를 기대하고 있다.
- 참고
Ask.com
Ask Jeeves는 1996년에 Berkeley 대학의 Garrett Gruener와 David Warthen에 의해 창립된 인터넷 정보 검색 회사이다.
Ask Jeeves는 ask.com, ask.co.uk, ajkids.com, teoma.com, excite.com, myway.com, iwon.com, 그리고 bloglines.com과 같은 여러가지 인기있는 웹사이트들을 보유하고 있다. 이런 사이트들에서 오는 traffic이 합쳐져서 미국에서 top10 웹관련 회사의 지위를 유지하고 있다.
기술 Ask Jeeves의 기본적인 아이디어는 자연언어로 질의를 받아서 그에 해당하는 결과를 보여주는 것이었다. Ask Jeeves는 World Wide Web 최초의 상업적 질의-응답 시스템이었다. Ask Jeeves는 일반적인 키워드 검색뿐만 아니라 자연 언어(영어)로 이루어진 질의에 답변할 수 있고, 다른 검색엔진들에 비해서 더 사용자에 친숙하고 직관적으로 다가가려고 노력한다. Ask Jeeves는 ask.com에서 사용되었던 기술을 Dell, Toshiba, 그리고 E*Trade와 같은 기업들에게도 팔았다. 그러한 비지니스(기업들에게 ask.com의 기술을 파는 것)는 Kanisa에게 2002년에 매각하였다. Ask Jeeves는 또한 웹사이트의 권위를 판단하기 위해서 특정 주제에 관련된 평판들의 링크를 사용하는 Teoma라는 검색엔진도 보유하고 있다. 현재 Ask.com에서 사용하고 있는 Teoma 검색엔진은 클러스터링을 통해 query expansion(해당 질의어와 관련된 더 자세한 질의어 추천)을 가능하게 해준다. 위의 그림의 오른쪽 부분에 보면 coffee로 검색했을때 해당 질의어와 가장 많이 관련 있는 한단계 더 깊은 질의어들을 추천해주고 있다.
Teoma
Teoma는 2000년에 Apostolos Gerasoulis교수와 그의 동료들에 의해서 Rutgers University에서 만들어진 검색엔진이다. 그들의 연구는 1998년의 DiscoWeb프로젝트로부터 시작하였다. 원래의 연구는 "DiscoWeb: Applying Analysis to Web Search."라는 논문에 발표되었었다. Teoma는 link popularity 시스템이라는 특이한 기능을 갖고 있다. Google의 PageRank와는 다르게 Teoma의 기술(Subject-Specific Popularity)는 어떤 웹사이트간의 연결관계를 특정 주제와 관련해서 분석을 하였다. 예를 들어 'baseball'에 대한 웹페이지는 다른 'baseball'에 대한 웹페이지들이 그 페이지로 연결이 되었을때 순위가 높아진다. (Google의 PageRank는 주제와 상관없이 Page자체의 Authority를 본다.) Teoma는 Ask Jeeves에게 2001년 9월 11일에 매각되었고 ask.com과 미국외의 Ask Jeeves 사이트들(ask.co.uk나 ask.jp)을 돌리는데 사용되었다.
- 참고
Baidu
Attachment(baidu.jpg) Baidu는 중국의 유명한 검색엔진이다. Baidu의 디자인은 Google과 비슷하고, 일반 검색 이외에 뉴스와 이미지검색을 제공한다. Baidu는 중국어를 사용하는 가장 큰 검색엔진이라고 알려져있다. 2005년 12월 현재 Baidu는 인터넷 전체에서 4번째로 많이 방문되는 웹사이트이다. MP3 검색 Google에서 제공하지 않고, Baidu에서 가장 인기있는 서비스는 MP3 검색이다. 이것은 구글의 이미지 검색과 비슷하지만 이미지 대신 MP3, WMA, SWF 파일을 검색한다. MP3검색은 중국음악만을 검색하는데 사용되는데 검색 결과는 매우 정확하다고 알려져 있다. MP3 공유가 대부분의 나라에서 불법이지만 중국에서는 불법이 아니고, Baidu는 중국법에 따르기 때문에 이 서비스의 제공이 가능하다.Baidu website
- 참고
Gigablast
Gigablast는 다른 검색엔진들보다 더 효율적이고 쉽게 확대가능하게 하는 것이 주 목적이다. Gigablast는 아주 큰 회사가 아니더라도 효율적으로 사용자가 원하는 결과를 제시해줄 수 있다는 것을 보여준다. 이 회사는 Matt Wells에 의해 운영된다. Matt은 Infoseek에서 2000년까지 일하다가 자기 자신이 새로운 검색엔진을 만들고 싶다고 생각하여 Gigablast를 처음부터 만들었다. Gigablast는 8개의 데스크톱 컴퓨터의 클러스터로 돌아간다. Gigablast는 검색 질의로부터 관련된 키워드를 예측한다. 이 기술은 GigaBits라고 불리는데, 많은 경우에 잘 동작한다. Gigablast는 HTML, PDF, MS Word, MS Excel, 그리고 MS Powerpoint 파일들을 찾는다. Gigablast에는 어떤 종류의 광고도 없지만, 이 검색엔진을 다른 기업들에게 팔거나 메타검색엔진으로 라이센싱을 통해서 돈을 번다.
- 참고
Attachment(google.jpg) http://www.google.com
Lycos
Lycos는 검색엔진인 동시에 웹디렉토리이다. Lycos는 Carnegie Mellon University의 Michael Mauldin박사의 연구프로젝트에서 시작되었다. 원래의 Lycos 검색엔진은 Carnegie Mellon University의 Informedia Digital Library 프로젝트에 사용되었다. "Lycos"라는 이름은 거미(spider)의 일종인 Lycosidae의 줄임말이다.
- 참고
Microsoft 검색
MSN 검색
MSN Search는 웹페이지, 뉴스, 상품, 그룹, 이미지, 그리고 마이크로소프트의 백과사전인 Encarta를 검색하는데 사용할 수 있는 검색엔진이다. MSN Search는 Google과 경쟁하기 위해서 새로운 인터페이스를 차용하였다. MSN Search의 인덱스는 50억개의 문서, 4억개 이상의 이미지, 그리고 300만건의 답변을 포함한다. 예전에는 Inktomi 검색엔진을 사용했지만 이제는 MSN Search가 결과를 다른 검색엔진 포탈에 제공하기 시작하였다. MSH 검색 인덱스는 일주일에서 하루에 한번까지 업데이트가 된다.
- 비판
- 인터넷 익스플로러에서 주소창에 오타를 치게되면 기본적으로 MSN Search로 가게 된다. 어떤 사람들은 이렇게 하는 것이 MSN Search가 자신들의 사이트 소통량을 늘리기 위해서 하는 것이라고 비판한다.
- 또한, 마이크로소프트는 자신의 검색엔진의 결과를 자신의 제품들에게 유리하게 보여주도록 한다는 비판을 받기도 했다. 예를 들어 "Internet Information Server"라는 질의어로 검색을 했을때 마이크로소프트의 Internet Information Server가 다른 웹서버 소프트웨어보다 높은 순위에 보여지도록 했다고 한다.
Live.com
Microsoft가 Google과 경쟁하기 위해 개발하고 있는 검색엔진이다. 스크롤바를 통한 스크롤을 할 필요가 없이 단순히 휠마우스의 휠 조작이나 pgdown/pgup 키의 조작을 통해 검색결과의 스크롤이 가능하다. 스크롤기반이라 기존 검색엔진에서 사용하던 페이지 아랫 부분의 페이지 개념이 없어지고 무한 스크롤을 통해 전체의 내용을 받아올 수 있다. Ajax를 사용하여 스크롤이 어느 정도 될때마다 새로 request를 하여 해당 부분을 받아와서 화면에 뿌려지는 원리를 통해 자연스러운 브라우징이 가능해졌다. 오른쪽의 광고 창도 스크롤에 따라 업데이트가 된다.
- 참고
WiseNut
Attachment(wisenut.jpg) WiseNut은 현재 Looksmart가 소유하고 있다. WiseNut은 자체의 데이터베이스를 사용한다. WiseNut은 Teoma처럼 자동으로 검색결과를 분류해서 보여준다. 이 기술은 WiseGuide라고 불린다. WiseNut은 Boolean Search능력이 부족했고, 다른 복잡한 검색 기능들이 부족해서 큰 성공을 이루지 못하였다. 다른 검색엔진들은 페이지를 저장하지만 WiseNut은 페이지를 저장하지 않는다.
Yahoo!
Attachment(yahoo.jpg) Yahoo! 검색은 원래 "Yahoo!"라는 회사가 제공하는 인터페이스에 지나지 않았다. 예전에는 다른 검색엔진들의 결과를 Yahoo! 인터페이스로 보여주었고 실제로 웹페이지를 찾고 정보를 저장하거나 검색하는 것은 Yahoo!자체에서 이루어지지 않았었다.
2002년에 Yahoo!는 Inktomi 검색엔진을 사들였다. 2003년에는 Overture를 사들였다. 실질적으로 많은 검색엔진들을 보유하고 있었지만 Yahoo!는 그 엔진들을 사용하지 않고 Google과의 제휴를 통해 Google의 검색 결과를 보여주었었다.
하지만 2004년에 Yahoo!는 Yahoo! Slurp라는 자체 검색엔진을 개발하여 독립적인 검색사이트로 거듭났다. Yahoo! Search는 원래 보유하고 있던 여러 검색엔진들의 능력들을 합쳐서 하나의 검색엔진으로 만들어냈다. 그리고 이제는 Yahoo!가 다른 회사들에게 자신의 검색엔진을 팔기 시작하였다.
국내
네이버
다음
야후
엠파스
첫눈
논문 검색엔진
Pubmed
Pubmed는 United States National Library of Medicine의 Entrez 시스템에서 제공되는 검색엔진이다. 이 검색엔진은 MEDLINE 데이터베이스를 포함해 다른 많은 의학논문 데이터베이스를 인덱싱하고 있다. Pubmed는 논문의 전체 텍스트를 인덱싱하지 않고, 초록부분만 인덱싱을 한다. 전체 텍스트는 링크를 통해 접근가능하도록 해놓았다. MeSH라는 자체 용어 데이터베이스를 사용하여 용어들을 인덱싱하고 질의에 맞는 논문을 찾을 때에도, MeSH에 매핑이 가능하면 매핑을 하여 검색을 하고 있다. 현재는 원하는 질의어에 대한 검색 결과를 My NCBI를 통해 저장할 수 있다.아직 검색결과에 대한 RSS를 제공하지는 않지만, 질의어에 해당하는 새로운 내용들을 e-mail로 받아볼 수 있도록 해주고 있다.
Citeseer
Arxiv.org
(Arxiv 의 x가 그리스어의 "카이"를 차용하여 전체적으로 "아카이브" 라고 발음된다.) 이 사이트는 물리학, 수학, 전산, 그리고 생물학 쪽의 학술논문들의 preprint들을 보유하고 있다. Preprint란 peer-reviewed 저널에 아직 게재되지 않은 버젼의 논문이다. peer-reviewed 저널에 게재되기까지는 시간이 오래 걸리기 때문에 preprint를 사용하여 현재 연구결과를 서로 공유할 수 있다. 또한 postprint(peer-review가 된 이후의 수정된 버젼)도 포함하여 "e-print"들의 저장소가 되었다. 몇몇 학자들이 실제로 arxiv.org에 정기적으로 자신의 연구결과를 업로드하여 peer-reviewed 저널에 게재되기 전에 미리 알리고 있다. Arxiv는 처음에 Los Alamos Library에서 운영하였지만 현재는 Cornell University가 운영하고 있다. 검색결과에 각각의 논문이 속하는 학문적 category가 나타나 있어서 편한 browsing이 가능하다.
Google Scholar
2004년에 시작된 이 서비스는, 학술논문들을 인덱싱하여 검색가능하게 해준다. 현재 Elsevier에서 publish된 논문들을 제외하고 나머지 대부분의 논문들을 인덱싱 하고 있다. Google Scholar는 Google 웹검색엔진에서 사용하는 PageRank와 비슷한 방법으로 결과를 rank한다. Citation의 수에 의존하기 때문에, cite받을 기회가 더 많았던 오래된 논문들이 최신 논문보다 더 높은 순위로 나타나고 있다. 2005년 초부터는 Library Links라는 서비스를 통해 검색하는 사람이 속한 기관을 알아내 그 기관이 구독하고 있는 저널에서 해당 논문이 접근 가능하면 그것을 알려주고 있다. Library Links 서비스를 사용하기 위해서는 해당 기관의 ip범위의 컴퓨터에서 검색을 하거나 Scholar Preference에서 Library Links를 설정해주면 된다.
블로그 검색엔진
Technorati
Technorati는 블로그 전용 검색엔진이다. Timestamp를 indexing하여 역시간 순서(reverse-chronological order)로 검색결과를 보여준다. 질의어에 관련된 최신 정보를 얻기에 좋다.
- Technorati Tag
- Attention.xml
- 단점
- 실제로 필요한 내용보다는 필요 없는 내용이 초기 화면의 대부분을 차지하고 있다. 위의 검색결과에서도 실제로 초기화면에 나타나는 "coffee"로 검색된 결과는 3건밖에 찾을 수 없고, 대부분이 광고 또는 사람들이 별로 궁금해하지 않는 내용이다.
Daypop
Google Blog Search
Google의 PageRank 알고리즘을 응용한 ranking mechanism을 사용하여 검색 결과를 정렬하여 보여준다. RSS기반 검색이므로 엔진이 크롤링을 시작하기 이전의 글은 인덱싱이 되어있지 않다. 권위있는 블로그 문서들을 찾기에 좋지만, 끊임없이 새로 올라오는 내용들이 무시되어버리고 무조건 권위있는 내용만 최상위에 보여지기 때문에, 같은 질의어로 검색을 하면 항상 거의 비슷한 모습이다.
Feedster
Bloglines
기업용 검색엔진
기업의 인트라넷(intranet)을 검색하는 엔진을 기업용 검색엔진(enterprise search engine)이라고 한다.
개인용 검색엔진
개인의 컴퓨터를 검색하는 엔진을 개인용 검색엔진(personal search engine)이라고 한다.
* Google Desktop
모바일 검색엔진
검색엔진 라이브러리
이 항목에 속하는 검색엔진들은 정말로 검색"엔진"에 해당한다. 프로그램에 검색기능을 포함시키도록 도와주는 라이브러리를 말한다.
Lucene
Java 기반의 오픈소스 검색엔진 라이브러리이다. 현재 아파치 최상위 프로젝트(Top Level Project)이다. 검색엔진 자체가 아닌, 검색을 가능하게 해주는 클래스들의 집합이다. 따라서, 클래스를 활용함에 따라 다양한 검색엔진을 만들어낼 수 있다.
- Lucene을 사용하는 사이트들
- Akamai, Overture, Technorati, HotJobs, Epiphany, FedEx, Mayo Clinic, MIT, New Scientist Magazine 등
Lucene 의 여러 언어로의 porting
- Lucene에서 색인 가능한 문서의 종류들
- XML, PDF, HTML, MS워드 문서, RTF 등을 핸들링할 수 있는 클래스들이 존재한다.
- XML : SAX, DOM, Digester 등을 사용하여 파싱을 한 후 색인
- PDF : PDFBox를 사용하여 내용 추출한 후 색인
- HTML : JTidy, NekoHTML 등의 html전용 파서를 사용하여 파싱을 한 후 색인
- MS워드 문서 : POI또는 TextMining.org의 라이브러리를 사용하여 내용을 추출한 후 색인
- RTF : java자체적으로 지원하는 java.swing.text.rtf 클래스를 사용하여 내용 추출한 후 색인
- PyLucene
- SWIG(Simplified Wrapper and Interface Generator)과 gcj(java compiler)를 사용하여 python과 lucene을 연결시켜주는 라이브러리. java virtual machine에서 돌아가지 않고 실제로 컴파일하여 실행되므로 Lucene보다는 약간 빠르지만, CLucene보다 2배정도 느린 것으로 알려져 있다.
- PyLucene의 구조: shared library로 컴파일되어 python extension으로 존재한다. 라이브러리를 import명령으로 바로 python에서 로딩하여 사용 가능하다. gcj를 통해 루씬코드가 컴파일되고, 인터페이스 파일과 gcjh를 통해 생성된 헤더파일이 SWIG을 통해 python과 연결된다.
- 현재 문제점: PyLucene은 gcj3 환경에서 stable하게 돌아가지만 gcj3에서는 2GB 이상의 파일을 다룰 수 없는 bug가 있다. 하지만, gcj4를 사용하여 컴파일을 하게 되면 stable하게 동작하지 않아서 현재 여러가지 문제가 존재한다.(검색 결과의 sorting 지원안함)
- CLucene
- LPGL 라이센스를 적용하고 있으며 현재 Lucene 1.4버젼을 기준으로 만들어져있다. PyLucene보다 2배정도 빠르고 Lucene보다 높게는 3배까지 빠른 performance를 보이기도 하나, linux에서의 유니코드 문제와 웹프로그래밍에 바로 적용하기 어려운 점 등 풀어야 할 문제가 많다. 또한, 현재 Java Lucene의 버젼이 1.9.1까지 나와있고, PyLucene은 바로 버젼을 따라잡아 있는 반면에, CLucene에서는 버젼도 1.4 기준으로 업데이트 속도도 느린 편이다.
- 참고
Manning사의 lucene in action 책 내부를 검색할 수 있는 곳 CLucene과 Lucene의 performance 비교
















