//package org.fastcatsearch.ir.index;
//
//import org.apache.lucene.analysis.Analyzer;
//import org.fastcatsearch.ir.config.Schema;
//import org.fastcatsearch.ir.document.Document;
//import org.fastcatsearch.ir.setting.SchemaSetting;
//import org.junit.Test;
//
//public class NewSearchFieldWriterTest {
//
// @Test
// public void create(){
//
//
// //만약 schema를 xml에서 로딩할 경우 schemaSetting에서 analyzer class Name등을 class로딩하여 schema객체로 넣어준다.
// //즉 schemaSetting => schema변환기가 필요하다. ir에서는 수행하지 않고 fastcatsearch에서 class로딩을 수행한다.
// //반대로 schema를 setting으로 변환할 경우는? 없다고 본다.
// //TODO 모든 jaxb 셋팅들은 fastcatsearch로 이동한다.
// // 모든 설정파일 관련은 fastcatsearch로 이동하고 ir에서는 파라미터와 객체만 이용한다.
// //필요에 따라 설정객체 indexConfig 같은 객체를 만들어 사용한다.
// //모든 설정파일 => 객체는 fastcatsearch에서 수행한다.classloader와 확장성때문..
// SchemaSetting schemaSetting = new SchemaSetting();
//
//
//
// Schema schema = new Schema(schemaSetting);
//
//
//// IndexSetings indexSetings = schema.indexSetings();
// DefaultAnalyzer textAnalyzerPool = new DefaultAnalyzer();
// DefaultAnalyzer keywordAnalyzer = new DefaultAnalyzer();
//
// schema.addField(new TextField("title"));
// schema.addField(new IntField("price"));
//
// schema.addIndexField("title", textAnalyzerPool);//pool 또는 analyzer모두 사용가능.
// schema.addIndexField("price", keywordAnalyzer);
//
//
// SearchFieldWriter writer = new SearchFieldWriter(schema, indexConfig);
//
// Reader reader1 = new String("가나다라마바사아자차.");
// Reader reader2 = new String("1234");
//
// FieldValue f1 = new TextFieldValue("title", reader1);//analyzer 강제 셋팅가능?
// FieldValue f2 = new IntFieldValue("price", reader2);
// Document document = new Document();
// document.add(f1).add(f2);
//
// writer.write(document);
// }
//
// class DocumentIndexWriter{
// FieldIndexWriter[] fieldIndexWriterList;
// Schema schema;
// public DocumentIndexWriter(schema, indexConfig){
//
// indexInterval = indexConfig.getInt("index.term.interval");
// indexBucketSize = indexConfig.getByteSize("index.work.bucket.size");
// workMemoryLimit = indexConfig.getByteSize("index.work.memory");
// workMemoryCheck = indexConfig.getInt("index.work.check");
// tokenizers = new Analyzer[indexSettingList.size()];
// memoryPosting = new MemoryPosting[indexSettingList.size()];
// isNumericField = new boolean[indexSettingList.size()];
//
//
// IndexField[] indexFieldList = schema.getIndexFieldList();
//
// for(IndexField indexField : indexFieldList){
// FieldIndexWriter w = new FieldIndexWriter(indexField, indexWriteConfig);
// fieldIndexWriterList[i] = w;
// }
//
//
//
// }
//
// void writeDocument(Document document){
//
// for(indexField indexField : indexFieldList){
// FieldValue fieldValue = document.get(indexField.id());
//
// w[i].writeField(fieldValue);
// }
//
// }
//
// }
//
// class FieldIndexWriter{
//
// public FieldIndexWriter(indexField, indexWriteConfig){
// fieldName = indexField.getFieldName();
// analyzer = indexField.getAnalyzer();
//
// }
// void writeField(Field field){
//
//
// }
// }
//}