Clean Code that Works.

처음 예제부터 막혀서 -_-;;

여기저기 찾아 보았다. 루씬 버젼이 올라가면서 책에나온 소스가 deprecate 되어서 동작하지 않았다.

기존 예제를 보면

Document doc = new Document();
doc.add(Field.Text("contents", new FileReader(f)));
doc.add(Field.Keyword("filename", f.getCanonicalPath()));
writer.addDocument(doc);

이렇게 되어있는데 Field 에 Text, Keyword 스태틱 메소드(맞겠지 -ㅁ-?)가 사라져(deprecate) 버렸다.

Document doc = new Document();
doc.add(new Field("contents", new FileReader(f)));
doc.add(new Field("filename", f.getCanonicalPath(), Field.Store.YES, Field.Index.UN_TOKENIZED));
writer.addDocument(doc);

Field의 매개변수 타입에 따라서 속성을 결정 하는 형식으로 바뀌었다.

http://lucene.zones.apache.org:8080/hudson/job/Lucene-Nightly/javadoc/index.html
루씬 doc 문서를 참조해서 이해 해볼려 했으나.. 이해가 잘 되니 않아 구글링으로 해결했다..OTL