[색인&검색]루씬 - FSDirectory() 사용

2014. 6. 16. 16:16OpenSource/Lucene

반응형

Ref url :  http://lucene.apache.org/core/4_0_0/core/org/apache/lucene/

               2014/06/04 - [OpenSource/Lucene] - [색인&검색] - 루씬 JUnit Test 해보기& RAMDirectory() 사용!


에 이이서~! 이번 시간에는 RAMDiretory() => FSDirectory() 로 만들어 보겠습니다.

색인 후 Luke로 잘 되었는지 확인을 해보면 좋습니다. 


아래는 stackoverflow 에 답변 단 Test 코드에서 나온 Luke 내용 입니다. 머리털 나고 처음으로 답변을 달아봤습니다. ㅋㅋ;

http://stackoverflow.com/questions/18862600/how-to-use-lucene-indexreader-to-read-index-in-version-4-4/24237792#24237792



<< Documents >>


<< Search >>


source link : https://github.com/acetaeha/rndStartService/tree/luceneBasicSource02


소스에 보시면

doc.add(new TextField("acet", target ,Field.Store.YES));  // Field.Store.YES 이녀석이 NO면 색인내용이 없다.  

// 뜻 그대로 Store 여부, 단 : 2번째 param에 Reader가 들어오게 되면 Field.Store.YES를 사용할 수가 없어서 검색 결과가 나오지 않는다.

라고 주석을 달아놨습니다.


2번째 파라미터에 Reader를 넣어서 할 경우에는 Field.Store.NO를 사용하셔야 하며, 그렇게 될 경우 검색이 되지 않는 현상이 나타납니다.

왜냐면 NO일 경우에 당연히 색인에 남지 않으니깐요! -0-;;


그리고 public int index(File indexDir, File dataTargetDir) 메소드에서 

iw.commit(); or iw.close(); 를 반드시 해주셔야 색인이 잘~~만들어 집니다.


흐름은 대충~소스를 보시면 알 수 있습니다.

앞으로 더욱 소스를 다듬고~업그레이드를 하고 다만들어지면 루씬 자체를 분석도 해보고 싶네요! ㅎㅎㅎ 


다음 시간에는 UI에다가 붙여보도록 하겠습니다.


Springframework 기반으로 하게 되어집니다. 

아래의 링크를 참고 하시면 됩니다.


참고 :


2013/11/03 - [OpenSource/Spring 강좌] - [Ace-T의 Spring강좌] Step 01. Spring 환경 구축 하기(Eclipse+Jdk)


2013/11/05 - [OpenSource/Spring 강좌] - [Ace-T의 Spring강좌] Step 02. Spring 환경 구축 하기(Maven+Spring Project)


2013/12/04 - [OpenSource/Spring 강좌] - [Ace-T의 Spring강좌] Step 03. Spring 환경 구축 하기(was)


2014/02/05 - [OpenSource/Spring 강좌] - [Ace-T의 Spring강좌] Step 04. Spring @MVC 분석-01


2014/05/05 - [OpenSource/Spring 강좌] - [Ace-T의 Spring강좌] Step 05. Spring @MVC 분석-02


2014/05/23 - [OpenSource/Spring 강좌] - [Ace-T의 Spring강좌] Step 06. Spring @MVC 분석-03


2014/05/26 - [OpenSource/Spring 강좌] - [Ace-T의 Spring강좌] Step 07. Spring @MVC 분석-04


그럼 개발 하러 이만..:D

고고


by ace-T






반응형