Solr 색인 소개
이 섹션에서는 색인 과정에 대해 설명합니다. Solr 색인으로 컨텐츠를 넣고, 필요하다면 컨텐츠를 수정하거나 삭제하는 과정이죠. 컨텐츠를 색인에 추가해서, Solr가 검색할 수 있도록 만들 수 있습니다.
Solr 색인은 여러 소스를 통해 데이터를 받을 수 있습니다. XML 파일, 쉼표로 분리된 값(comma-separated value, CSV) 파일, DB 테이블에서 추출된 데이터, Microsoft Word나 PDF와 같은 공용 파일 형식 등이죠.
다음은 Solr 색인에 데이터를 담을 때 대체로 사용되는 3가지 방법입니다:
- 바이너리 파일이나 Office, Word, PDF, 기타 독점 형식 등의 구조화된 파일들을 수집하기 위해 Apache Tika로 만들어진 Solr Cell 프레임워크를 사용합니다.
- HTTP 요청을 할 수 있는 아무 환경에서 Solr 서버로 HTTP 요청을 보내서 XML 파일을 업로드 합니다.
- Solr의 Java Client API(자세한 내용은 Client API에 설명되어 있습니다.)를 이용해서 데이터 수집을 위한 Java 애플리케이션을 직접 만들 수도 있습니다. Java API를 제공하는 저작물 관리 시스템(Contents Management System, CMS)과 같은 애플리케이션을 이용한다면, Java API 사용은 탁월한 선택이 될 것입니다.
데이터 수집에 어떤 방법을 이용했는지와는 무관하게, Solr 색인에는 공통된 기본 구조의 데이터가 공급됩니다. 이름과 내용을 포함하는 여러 필드로 이루어진 문서 구조죠(물론 내용은 비어있을 수 있습니다.). Solr가 유일한 ID 필드(DB의 기본키와 유사합니다.) 사용을 엄격하게 요구하지 않더라도, 필드 중 하나는 보통 유일한 ID 필드로 설계됩니다.
만약 필드의 이름이 색인과 연관되어 schema.xml 파일에 정의되어 있다면, 컨텐츠가 토큰화 되었을 때 필드와 관련된 분석 단계들이 각 컨텐츠에 적용됩니다. 스키마에 명시적으로 정의되지 않은 필드들은 무시되거나, 하나라도 일치하는 필드 이름이 있다면 동적 필드 정의(Documents, Fields, and Schema Design 참고)에 매핑될 것입니다.
Solr에서 색인하는 과정에 대한 자세한 정보는 Solr Wiki를 참고하세요.
The Solr 예제 디렉토리
Solr를 "-e" 옵션과 함께 실행하면, example/ 디렉토리를 기본 디렉토리로 사용하는 예시용 Solr 인스턴스들이 생성될 것입니다. 이 디렉토리는 example/exampledocs/ 하위 디렉토리에 다양한 형식의 샘플 문서도 포함하고 있어서 문서들을 갖고 여러가지 예제를 통해 색인 실험을 해볼 수 있습니다.
파일 전송을 위한 curl 유틸리티
이 섹션의 많은 지침과 예시들은 URL을 통해 컨텐츠를 전송하기 위해 curl 유틸리티를 사용합니다. curl은 HTTP, FTP, 기타 다양한 프로토콜을 통해서 데이터를 주고 받을 수 있습니다. 대부분의 Linux 배포판은 curl을 포함하고 있습니다. 만약 필요하다면 http://curl.haxx.se/download.html에서 Linux, Windows, OS X등 자신이 사용하는 OS용 curl을 다운로드 할 수 있습니다. curl에 대한 관련 문서는 다음 경로에서 확인할 수 있습니다: http://curl.haxx.se/docs/manpage.html.
ⓘ
curl이나 기타 명령줄 도구를 사용해서 데이터를 게시하는 것은 연습이나 테스트를 위해서는 괜찮지만, 운영 환경에서 갱신을 위한 최적의 방법으로는 권장하지 않습니다. 최적의 성능을 위해서는 Solr Cell이나 이 섹션에 설명된 다른 방법을 이용하세요.
curl 대신에, 명령줄 옵션은 다르더라도 GNU wget (http://www.gnu.org/software/wget/)이나 Perl에서 GET과 POST를 제어하는 방법을 이용할 수도 있습니다.
오탈자와 오역은 댓글을 달아주세요. (Apache Solr 5.5 가이드 번역에 관하여...)