검색 결과 강조 각종 검색엔진을 이용하여 검색 결과를 보면 내가 입력했던 검색어가 강조되어 표시되는 것을 볼 수 있습니다. 우리가 만든 검색 결과 페이지에 적용할 순 없을까요? Solr는 이 Highlighting 기능을 지원하고 있습니다. 지금까지 그랬던 것처럼 아주 간단한 방법으로 구현할 수 있는데요. 오늘은 이 Highlighting 기능을 확인해보겠습니다. Highlighting 적용기존의 표 방식의 결과 페이지에는 본문 조각을 표시하기가 좋지 않습니다. src/main/webapp/WEB-INF/jsp/board4/boardSearch.jsp 파일을 아래와 같이 변경해주세요. 검색 결과 [] by. ... ... 검색 결과에 검색어를 강조하기 위해 src/main/java/gu/board4/bo..
SolrJ를 이용한 검색 4편까지의 연재를 통해서 새 색인 문서를 추가하고 삭제하는 법을 확인하였습니다. 이 모든 과정은 사실 오늘을 위해서 배웠다고해도 과언이 아닙니다. 오늘 5편에서 드디어 Solr를 이용해 검색을 진행하겠습니다. 색인된 문서 검색 게시판에 샘플 데이터를 충분히 입력해주세요. 예제에서는 노래 가사를 사용하겠습니다. 이제 검색 결과를 표시할 페이지를 디자인하겠습니다. src/main/webapp/WEB-INF/jsp/board4/boardSearch.jsp를 생성하고 아래 코드를 입력해주세요. 검색 결과 번호 제목 등록자 등록일 검색 페이지를 표시하기 위해 src/main/java/gu/board4/board4Ctr.java에 아래 코드를 이용하여 board4Search() 메소드를 추..
SolrJ를 이용한 색인 제어 이전 3편에서 말씀드렸듯 SolrJ를 이용하면 Java 프로그램 안에서 Solr에 접근할 수 있습니다. JSP 웹 사이트를 제작한 경우 새 색인 문서를 추가하기 위해서 어렵게 직접 HttpRequest에 데이터를 담아서 보낼 필요 없다는 뜻이죠. 아래와 같이 가독성 높은 코드를 만들 수 있습니다. 이번 4편에서는 사용자가 게시판에 글을 쓰고 수정하고 삭제할 때, 색인 문서를 추가하거나 삭제하도록 수정해보겠습니다. 색인 문서 추가, 수정src/main/java/gu/board4/board4Svc.java 파일의 43번째 줄에 아래 코드를 추가합니다.SolrInputDocument solrDoc = new SolrInputDocument(); solrDoc.addField("i..
SolrJ 적용하기 SolrJ는 Solr에 접속할 수 있는 Java Client입니다. SolrJ를 이용하면 Java 응용 프로그램에서 Solr에 접속해서 색인을 추가하고, 갱신하고, 삭제할 수 있습니다. 아마 많은 분들이 이번 편과 다음 편을 많이 반기실 것 같습니다. 저 역시도 Solr를 공부하면서 SolrJ를 다루는 법을 가장 궁금해하기도 했었습니다. 이번 3편에서는 게시판에 SolrJ를 적용해보겠습니다. SolrJ를 다루는 방법은 다음편에서 진행되니 같이 확인해주세요 :) Maven Dependency 추가아래 주소에 접속해서 현재 Solr 버전에 맞는 SolrJ 의존성 코드를 확인해주세요. 지금 예제에서는 6.3.0이니 SolrJ도 6.3.0을 확인하겠습니다. https://mvnreposito..
Schema 생성 Schema[1]는 Lucene에 저장되는 문서의 구조입니다. Lucene만 단독으로 사용한다면 문서를 저장하고 꺼낼 때마다 설정해줘야 하지만 Solr는 미리 설정해두고 사용하도록 해줍니다. 덕분에 문서를 저장하고 꺼낼 때 훨씬 간편하게 이용할 수 있죠. 이번 2편에서는 Schema를 설정하는 방법을 알아봅니다. managed-schema 설정$SOLR_HOME\server\solr\board\conf에 있는 managed-schema[2] 파일을 열어주세요. 메모장이나 Sublime Text, Notepad+ 등 텍스트 편집기로 열면 됩니다. 126행에 아래 코드를 삽입하고 저장해주세요. 아래 코드는 태그를 이용하여 앞으로 색인에 필요한 Field[3]를 설정하는 내용이 담겨있습니다...
준비하기 Solr는 훌륭한 검색엔진입니다. Java로 개발한 프로그램에 Solr를 빠르게 적용할 수 있도록 도와드리기 위해 Solr 빠른 완성을 연재합니다. Solr 빠른 완성 시리즈는 Solr의 Schema를 설정하고, Web Application을 이용하여 색인을 추가, 수정, 삭제하는 과정을 다룰 예정입니다. 물론 Web Application에서 Solr를 이용한 검색 결과를 출력하는 방법도 포함됩니다. 이번 1편에서는 Solr 빠른 완성에 필요한 것들을 준비합니다. 개발 환경 준비JDK 1.8 이상이 필요합니다. 만약 설치되어있지 않다면 아래 주소에서 다운로드 해주세요. http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-..
게시 도구 Solr는 Solr 서버로 여러 형태의 컨텐츠를 게시하기 위한 간단한 명령줄 도구를 가지고 있습니다. 바로 bin/post죠. bin/post 도구는 Unix 쉘 스크립트입니다. Cygwin을 쓰지 않고 Windows에서 사용하는 방법은 아래 Windows 지원 섹션을 참고하세요. 실행하려면, 터미널 창을 열고 다음을 입력하세요:bin/post -c gettingstarted example/films/films.json위와 같이 실행하면 localhost:8983에 있는 서버에 연결할 것입니다. 반드시 콜렉션/코어 이름을 지정해야 합니다. '-help' (혹은 간단히 '-h') 옵션은 사용 방법에 대한 정보를 출력합니다(예. bin/post -help). bin/post 도구 사용하기 bin/..
Solr 색인 소개 이 섹션에서는 색인 과정에 대해 설명합니다. Solr 색인으로 컨텐츠를 넣고, 필요하다면 컨텐츠를 수정하거나 삭제하는 과정이죠. 컨텐츠를 색인에 추가해서, Solr가 검색할 수 있도록 만들 수 있습니다. Solr 색인은 여러 소스를 통해 데이터를 받을 수 있습니다. XML 파일, 쉼표로 분리된 값(comma-separated value, CSV) 파일, DB 테이블에서 추출된 데이터, Microsoft Word나 PDF와 같은 공용 파일 형식 등이죠. 다음은 Solr 색인에 데이터를 담을 때 대체로 사용되는 3가지 방법입니다:바이너리 파일이나 Office, Word, PDF, 기타 독점 형식 등의 구조화된 파일들을 수집하기 위해 Apache Tika로 만들어진 Solr Cell 프레임..
색인과 기본 데이터 조작 이 섹션에서는 Solr가 Solr의 색인에 데이터를 추가하는 방법에 대해 설명합니다. 이 섹션은 아래 주제를 포함합니다:Solr 색인 소개: Solr의 색인 과정에 대해 둘러봅니다.게시 도구: 시스템으로 컨텐츠를 빠르게 업로드 하기 위한 post.jar 사용에 대해 설명합니다.데이터 업로드와 Index Handler: XML/XSLT, JSON, CSV 데이터를 업로드 할 땐 Solr의 Index Handler를 활용합니다. 이에 대한 정보를 확인합니다.데이터 업로드와 Apache Tika를 이용한 Solr Cell: 색인에 데이터를 업로드하기 위해서는 Solr Cell 프레임워크를 사용합니다. Solr Cell 프레임워크에 대해 설명합니다.구조화된 데이터 저장소 데이터 업로드와..
날짜 다루기 날짜 서식Solr의 TrieDateField(와 곧 사라질 DateField)는 밀리초 단위의 시점을 나타냅니다. 사용되는 형태는 XML 스키마 사양에 있는 dateTime의 정규 표현 형식으로 제한됩니다:YYYY-MM-DDThh:mm:ssZYYYY는 연도입니다.MM은 월입니다.DD는 날짜입니다.hh는 24시간 단위로 표현된 시간입니다.mm은 분입니다.ss는 초입니다.Z는 'Z' 문자를 그대로 쓰며, 이 문자열이 UTC로 된 날짜를 나타냄을 알려줍니다.시간대는 명시하지 않을 수 있습니다. 날짜 문자열은 항상 협정 세계시(UTC)로 표현됩니다. 다음은 예제 값입니다:1972-05-20T17:33:18Z 만약 원한다면 선택적으로 세밀한 초 단위도 포함할 수 있습니다. 물론 밀리초 이후의 단위는 ..
통화와 환율 다루기 currency FieldType은 통화 변환이나 환율에 대한 질의를 할 때 Solr/Lucene에 화폐 가치에 대한 지원을 제공합니다. 다음 기능을 지원합니다: 지점 조회범위 조회기능성 범위 조회정렬통화 코드 또는 기호로 통화 파싱대칭 환율과 비대칭 환율 (만약 환전 수수료가 있다면 비대칭 환율이 유용합니다. 통화 설정 currency Field는 schema.xml에 정의되어 있습니다. 다음은 해당 Field의 기본 구성입니다: 이 예제에서, 우린 Field 유형의 이름과 class를 정의했고, defualtCurrency(기본 통화 단위)를 "USD", 미국 달러화로 정의했습니다. 또 currencyConfig(통화 설정)는 "currency.xml" 파일을 사용하도록 정의했습니..
[번역] Solr에 포함되어 있는 Field Type :: Apache Solr 5.5 가이드
2016.05.20
Solr에 포함되어 있는 Field Type아래 표는 Solr에서 사용 가능한 Field Type의 목록입니다. org.apache.solr.schema 패키지가 아래 표의 클래스를 포함하고 있습니다.클래스 설명 BinaryField 이진 데이터. BoolField true나 false를 담습니다. 값의 첫 글자가 "1"이나 "t", "T"인 경우 true로 해석합니다. 첫 글자가 다른 값이라면 false로 해석합니다. CollationField 정렬이나 범위 쿼리의 유니코드 정렬을 지원합니다. 만약 ICU4J를 사용할 수 있다면 ICUCollationField가 더 나은 선택입니다. 유니코드 정렬 섹션을 참고하세요. CurrencyField 통화와 환율을 지원합니다. 통화와 환율 다루기 섹션을 참고하세..