Zend Framework에 포함되어 있는 Zend_Lucene_Search

php에는 여러 프레임워크가 존재한다. 이 중 Zend Framework라는게 있는데, php로 구현되어 있는 검색엔진이 없을까 찾다가 알게 되었다. 이 프레임워크에는 Jakarta 프로젝트의 하나인 Lucene을 PHP로 포팅한 Zend_Lucene_Search 패키지가 존재한다.

이 패키지를 이용하여 검색엔진을 만들어서 테스트해봤다. 역시 빠르다. 하지만 문서의 갯수가 많아지니 현저히 느려지는 속도..

나름 결론을 내린 건 하드웨어 사양에 따라 틀리겠지만 10만건정도 이하의 문서를 검색하는 사이트에서 유용할 것 같다. 부하가 많이 걸리는 부분은 키워드에 맞는 문서를 검색하는 부분이 아니라 검색되어진 문서를 배열로 만들고 이를 사용자의 요구에 맞게 정렬하는 부분이었다. 이는 PHP의 한계가 아닐까 보여지는데… 검색결과문서수가 평균 천건을 넘지 않는다면 인덱싱되어 있는 문서건수가 많더라도 유용하게 사용되어 질 것 같다. 또한 검색엔진, Lucene을 이해하는 데에도 유용할 것 같다.