[시작하기]
1. solr 최신버전 다운

2. example디렉토리로 이동해서 Solr 서버를 실행
Jetty가 8983 port로 실행된다.
$ cd example
$ example$ java -jar start.jar
>java -jar start.jar
2012-04-16 14:35:38.691:INFO::Logging to STDERR via org.mortbay.log.StdErrLog
2012-04-16 14:35:38.803:INFO::jetty-6.1-SNAPSHOT
2012-04-16 14:35:38.830:INFO::Started SocketConnector@0.0.0.0:8983

3. 웹브라우져에서 접속(http://localhost:8983/solr/admin/)을 확인한다.


[색인 테스트]
1. example\exampledocs로 이동해서 post.jar 파일을 이용해서 색인
example\exampledocs$ java -jar post.jar solr.xml monitor.xml
SimplePostTool: version 1.4
SimplePostTool: POSTing files to http://localhost:8983/solr/update..
SimplePostTool: POSTing file solr.xml
SimplePostTool: POSTing file monitor.xml
SimplePostTool: COMMITting Solr index changes..

2. 다음과 같이 검색 URL로 색인 결과를 확인
http://localhost:8983/solr/select/?q=solr&start=0&rows=10&indent=on


3. 색인 데이터에 대한 통계치 보기
http://localhost:8983/solr/admin/stats.jsp
다음과 같이 현재까지 17개의 문서가 색인되어 있음을 알 수 있다.


4. 색인데이터 삭제하기
다음과 같이 schema.xml에 설정된 uniqueKey를 가진 필드를 지정하여 해당 문서를 색인결과에서 삭제할 수 있다.
example\exampledocs$ java -Ddata=args -Dcommit=no -jar post.jar “SP2514N”

example\exampledocs$ java -Ddata=args -Dcommit=no -jar post.jar “SP2514N”
위와 같이 삭제가 될 것이라는 메시지를 확인할 수 있고,

example\exampledocs$ java -jar post.jar 명령어를 날려 삭제에 대한 반영(commit)을 한다.



[검색 테스트]
1. 파라미터에 의해서 HTTP GET 방식으로 검색
쿼리파라미터의 예) http://localhost:8983/solr/select/?q=id:SOLR1000&fl=id+name
q=SOLR1000&fl=name,id (기본 검색필드에서 ‘SOLR1000′를 검색하고, name과 id만 return 받음)
q=id:SOLR1000&fl=name,id,score (id필드에서 ‘SOLR1000′를 검색하고, name, id와 score를 return 받음)
q=id:SOLR1000&fl=*,score (stored=yes인 모든 필드와 score를 return 받음)
q=id:SOLR1000&sort=price desc&fl=name,id,price (price필드로 내림차순 정렬된 결과를 받음)
q=id:SOLR1000&wt=json (JSON 포맷으로 결과를 받음)

2. 검색결과 하이라이팅
검색과 마찬가지로 검색파라미터에 ‘hl’ 파라미터를 추가하여 강조 (for emphasis) tags를 추가한다.
q=id:SOLR1000&fl=id,name&hl=true&hl.fl=id
–> 검색결과에 대해서 하이라이팅 시키고, 그 필드는 name를 대상으로 한다.


3. Faceted Search (group by 검색)
이 기능은 group by 검색과 유사할 것 같다.
예1) q=*:*&facet=true&facet.field=popularity (모든 결과에 대해서 popularity값에 적용하다.)

예2) q=*:*&facet=true&facet.field=popularity&facet.field=price

예3) q=*:*&facet=true&facet.query=price:[50 TO 300]&facet.query=popularity:[7 TO *]

예4)q=*:*&facet=true&facet.date=manufacturedate_dt&facet.date.start=2004-01-1T00:00:00Z&facet.date.end=2010-01-01T00:00:00Z&facet.date.gap=+1YEAR

날짜를 범위로 검색한다. 2004년부터 2010년까지의 결과를 검색한다.

 

출처 : http://ncue.tistory.com/

+ Recent posts