2012-02-09 2 views
0

내 웹 사이트에서 검색 결과로 반환 된 각 문서의 발췌 부분을 작성하려고합니다. Linux CentOS에서 Sphinx 검색 엔진과 Apache 웹 서버를 사용하고 있습니다. Sphinx API에서 사용하고자하는 함수는 BuildExcerpts입니다. 이 함수는 각 문자열에 문서 내용이 들어있는 문자열 배열을 전달해야합니다.웹 사이트에서 제공하기 위해 .txt 파일의 내용을 어떻게로드해야합니까?

웹에서 결과를 제공하면서 실시간으로 문서 콘텐츠를 검색하는 것이 가장 좋습니다. 현재이 문서는 시스템의 여러 텍스트 파일에 있으며 여러 드라이브에 분산되어 있습니다. 대략 100MM 정도의 용량이 있으며 몇 테라 바이트의 공간을 차지합니다.

file_get_contents()과 같은 것을 쉽게 호출 할 수 있지만 잘못된 방법이라고 생각됩니다. 내 데이터베이스는 이미 거대한 (100GB 이상)이며 이미 존재하는 문서 속성과 함께 거기에 문서 내용을 던지려하지 않습니다. 아마도 이것은 이것을 수행하는 가장 좋은 방법 일 것입니다.

제안 사항?

답변

0

소스는 어딘가에서 가져와야합니다. 데이터베이스에 복제하지 않으려면 파일 시스템에서 파일을 가져와야합니다. BuildExerpts 기능을 사용하면 하나 추가 옵션 "load_files"

을 준다 있지만

을 (file_get_contets를 사용하거나 이와 유사한 것) ... 다음 스핑크스는 당신을 위해 파일 이름에서 데이터를 읽습니다.

파일에서 어떤 문제가 발생합니까? 너무 느린가요? 아마 어쩌면 앞에 캐싱을 사용하십시오. 아마 memcache를 사용하십시오.

관련 문제