2012-07-25 5 views
1

가능한 중복 검색 엔진을 만들기 :
How do you connect to multiple MySQL databases on a single webpage?방법 인덱싱하여 여러 데이터베이스에 대한

나는 내 웹 사이트에 대한 검색 엔진을 구축하고를, 나는 많은 테이블 6 개 데이터베이스를 가지고있다.

여러 데이터베이스의 경우 모든 데이터베이스와 테이블의 정보가 들어있는 인덱스 파일을 만들어야한다는 것을 알고 있습니다. 내가 PHP와 MySQL의 데이터베이스의 검색 엔진을 구축하는 방법을 알고

"(SELECT * from database1.search_table WHERE MATCH (title, link) AGAINST(‘keyword’)) 
    Union All 
(SELECT * from database2.search_table WHERE MATCH (title, link) AGAINST(‘keyword’)" 

같은 여러 데이터베이스

mysql_connect(“hostname”, “username”, “password”); 
mysql_select_db(“database1”); 

mysql_connect(“hostname”, “username”, “password”); 
mysql_select_db(“database2”); 

및 쿼리에

연결은 내가하고 싶은 색인 파일을 만들어서

좋은 자습서 나 방법을 제안 해주세요. Google은 여러 번 시도하지만 좋은 결과가 없습니다.

+0

그렇다면 UNION ALL을 쿼리에 사용하면 결과 쿼리가 너무 커져서 모든 데이터베이스 정보를 저장하는 단일 인덱스 파일을 만들고 싶습니다. 그 색인 파일을 만드는 방법. 데이터베이스에서 모든 데이터를 포함하는 다른 데이터베이스를 만들어야합니까? –

+0

여러 데이터베이스에서 단일 쿼리를 실행할 수 있다고 생각하지 않습니다. 개별 쿼리를 만들어서 직접 데이터를 결합해야한다고 생각합니다. – Lix

+0

또한 내 질문에 중복되지 않습니다 나는 여러 데이터베이스를 연결하는 검색 엔진을 만드는 방법에 대한 질문입니다. 여러 데이터베이스에 연결할 수 있습니다. –

답변

1

나는 이것을 수행하는 세 가지 방법을 생각해 보았다. 1-st 사용자는 다중 데이터베이스 연결을 할 수있다. 그것이 서버에 대한 연결을 증가시킬 것이기 때문에 이것은 가장 무거운 방법입니다. 2-nd 선택한 데이터베이스를 전환 할 수 있습니다. 3-d 쿼리에서 데이터베이스를 선택하여 쿼리 데이터베이스를 독립적으로 만들 수 있습니다. 다음은 예입니다.

SELECT * FROM `database`.`table` WHERE `database`.`table`.`column`='something' 

저는 개인적으로 제 3의 방법이 최선이라고 생각합니다.

관련 문제