2010-08-02 5 views
0

웹 사이트 용 검색 엔진을 구축하려고합니다. 대부분 PHP로 구성된 HTML/CSS 페이지 모음입니다. 이제 그게 전부입니다. 내 모든 콘텐츠가 페이지에 있습니다.웹 사이트 검색 엔진

이 작업을 수행 할 수 있다고 생각되면 데이터베이스에 내용이 있어야합니다. 맞습니까?

"키워드" "제목" "콘텐츠"및 "링크"라는 4 개의 열이있는 MySQL 테이블을 만드는 경우이를 고려했습니다.

  • 키워드 - 쿼리에있는 경우 가장 가능성있는 결과로 표시됩니다.
  • 제목 - 내가
  • 링크를 믿고 메시 될 것이다 무언가를 찾기위한 마지막 자원이 될한다 - - 키워드를 검색 한 후이 제목이 가장 관련성이 높은 결과를
  • 콘텐츠 생산 검색 특정에 속하는 단지 링크입니다 열.

나는 PHP와 MySQL로 구현할 것이고, 모든 내용과 제목 등을 db에 넣는 것은 귀찮을 것이다. 이것은 좋은 방법입니까 아니면 다른 것을보고 있어야합니까?

감사합니다.

은 --------------- 편집 -------------------

루씬은 좋은 옵션이 보인다 그러나 시작하기를 읽은 후에도 웹에서 약간의 주위를 둘러 보면서 나는 그것이 어떻게 작동하는지 이해할 수 없다. 누군가 아주 나에게 이것을 아주 기본적인 방식으로 설명해 줄 수 있을까? 특히 고려해야 할 것은 컴파일하는 법을 모릅니다.

감사합니다.

+2

(좋은) 검색 엔진을 작성하는 것은 상당히 어려운 작업입니다. 고려할 가치가있는 많은 기존 솔루션이 있습니다. http://www.sphider.eu/가 적합 할 수도 있습니다. –

+0

콜린, 내가 감사 드리는 것에 감사드립니다. 감사합니다. 건배. – Kyle

답변

1

Sphinxsearch는 최대 성능으로 땅을 염두에두고, 관련성 (검색 품질 일명) 및 통합 단순에서 디자인 된 오픈 소스 전체 텍스트 검색 서버입니다.

스핑크스를 사용하면 SQL 데이터베이스, NoSQL 스토리지 또는 파일에 저장된 배치 검색 및 검색을 빠르고 쉽게 수행 할 수 있습니다. 또는 데이터베이스 서버로 Sphinx에서 작업하면서 데이터를 색인 및 검색 할 수 있습니다.

+0

유일한 지적은 서버에 설치해야한다는 것입니다 (그가 할 수 있거나 할 수없는, 나는 잘 모름). – nico

2

처음부터 검색 엔진을 구축하는 것은 고통 스럽습니다. 그것은 재미있는 일입니다. 실제로 학습을위한 것이라면, 그렇게하십시오!

그러나 웹 사이트에 대한 검색 기능이 필요한 경우 다른 사람이 수행 한 것을 사용하십시오. Apache Lucene이 하나의 옵션입니다.

0

귀하의 페이지가 정적 HTML이라고 가정합니다. 한 번에 두 가지 작업을 수행하고 DB의 페이지 내용을 전송하여 DB에서 내용을 읽음으로써 즉시 생성 할 수 있습니다.

어쨌든, 나는 귀하의 전략이 최소한 기본 검색 엔진은 괜찮다고 생각합니다. 또한 MySQL fulltext search을 살펴보십시오.

0

MySQL 전체 텍스트 검색은 설치가 가장 쉽지만 Sphinxsearch보다 훨씬 느립니다. Lucene조차도 Sphinx보다 느립니다. 스피드가 기준이라면 스핑크스를 기댈 시간을 내주는 것이 좋습니다.

그의 프레젠테이션 중 하나 인 Andrew Aksyonoff (Sphinx 제작자)는 다음과 같은 벤치마킹 결과를 발표했습니다. 약 5GB의 텍스트가 포함 된 약 3.5 백만 개의 레코드가 으로 사용되었습니다.

  MySQL Lucene Sphinx 

인덱싱 시간, 176 (84)

색인 크기 1,627 분, MB 3011 6328 2850

모두 매치, MS/Q 286 30 22

성냥 어구, ms/q 3692 29 21

,363,210

일치 부울 최고 20 MS/Q 기본 검색에서 제외하고

24 29 13

, 스핑크스 검색을위한 더 나은 솔루션을 많은 기능이있다 . 이러한 기능에는 멀티 이벤 트 속성, 토큰 화 설정, 워드 폼, HTML 처리, 지리 정보 검색, 순위 지정 및 기타 여러 가지가 포함됩니다.

0

Zend Lucene은 매우 유용한 검색의 순수 PHP 구현입니다.

다른 검색 옵션은입니다.이 검색 옵션은 lucene을 기반으로하지만 더 많은 Google 검색 결과를 생성하기 위해 많은 어려움을 겪습니다. 아마도 MyISAM MyISAM 풀 텍스트 검색 기능을 사용하는 것 외에는 가장 쉬운 옵션 일 것입니다.