2011-01-05 7 views
12

MySQL과 패싯 검색에 관한 몇 가지 질문을 여기서 보았습니다. Solr의 사용을 제안한 한 가지 응답을 보았습니다.Solr with MySQL 사용

내 MySQL 데이터베이스에는 제품, 공급 업체, 메시지, 사용자 등에 대한 많은 테이블이 모두 상호 연결되어 있습니다. Solr을 사용하여 제품에 대한면 검색을 수행하려면 어떻게해야합니까? 솔라리스 제품 데이터를 MySQL에서 계속 제공해야 겠지만, 데이터 인덱싱은 어떻게 처리합니까? 새로운 제품을 추가 한 직후 색인을 만드시겠습니까? 배치 색인합니까? MySQL 데이터베이스에있는 데이터를 정확하게 나타내는 Solr을 어떻게 처리합니까? (삽입, 삭제 등)

미리 감사드립니다.

+0

에서 튜토리얼을 통해 가야에 대한

? 이 종류의 비정규 화 및 업데이트를 매우 투명하게 처리 할 수있는 좋은 Solr 클라이언트가 많습니다 (예 : Ruby 앱용 Sunspot). –

+0

현재 PHP에서 CodeIgniter 프레임 워크를 사용하고 있습니다. 네가 나에게 제안 할 수있는 건 없니? – RS71

답변

8

data import handler을 살펴보십시오. 배치 업데이트 외에도 update request handler을 호출하여 업데이트를 트리거 할 수 있습니다. 응용 프로그램에서 호출해야하지만 자신의 필요에 맞는 사용자 지정 업데이트 요청 처리기를 만들 수도 있습니다.

+0

삭제는 어떻게 처리합니까? 데이터 가져 오기 처리기는 주로 삽입 및 업데이트를 처리합니다. 감사. – RS71

+0

Solr에서 삭제를 처리하려면이 옵션을 선택하십시오. http://stackoverflow.com/questions/1555610/solr-dih-how-to-handle-deleted-documents –

+0

추가, 업데이트 및 삭제는 업데이트 처리기에서 처리합니다. 액션은 전송 된 XML 메시지에 따라 다릅니다. 이 리소스를 확인하십시오 : http://wiki.apache.org/solr/UpdateXmlMessages#A.22delete.22_by_ID_and_by_Query. 극단적 인 경우 DB 테이블에 삽입/업데이트/삭제시 트리거되도록 연결된 저장 프로 시저를 작성할 수 있습니다. 그러나 당신의 위에 응용 프로그램이있는 경우 DB를 인덱스 유지 관리 논리와 함께 갈 것입니다. – jarekrozanski

0

데이터 가져 오기 처리기를 사용하는 경우 delta import command을 사용하십시오.

+0

Jarekrozanski의 답변에 대한 의견에 제 질문을 참조하십시오. 감사. – RS71

0

SOLR은 JAVA 응용 프로그램이지만 HTTP GET/POST 기능을 제공하는 언어를 사용하여 액세스 할 수 있습니다. 당신의 필요 당신이 http://wiki.apache.org/solr/DataImportHandler 를 참조하지만 인덱싱 부분에 점프하기 전에 lucene.apache.org/SOLR /tutorial.html 응용 프로그램이 내장되어 어떤 언어 및 프레임 워크