/**
*
*/
package org.ariadne_eu.utils.lucene.analysis;
import java.io.Reader;
import org.apache.lucene.analysis.KeywordAnalyzer;
import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.snowball.SnowballAnalyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
/**
* @author gonzalo
*
*/
public class LOMDocumentAnalyzer extends DocumentAnalyzer{
private static PerFieldAnalyzerWrapper pfanalyzer;
public LOMDocumentAnalyzer() {
pfanalyzer = new PerFieldAnalyzerWrapper(new StandardAnalyzer());
pfanalyzer.addAnalyzer("key", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("contents", new SnowballAnalyzer("English"));
pfanalyzer.addAnalyzer("date.insert", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("untokenized.xmlns", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("xmlns", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.solr", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.classification.purpose.value", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.classification.purpose.value.exact", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.classification.taxonpath.source.string", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.classification.taxonpath.taxon.entry.string.exact", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.classification.taxonpath.taxon.id", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.classification.taxonpath.taxon.competency.eqf", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.classification.taxonpath.taxon.domain.eqf", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.classification.taxonpath.taxon.eqf", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.classification.taxonpath.taxon.eqf.range", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.classification.taxonpath.taxon.id.competency", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.classification.taxonpath.taxon.id.domain", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.educational.context.value", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.educational.difficulty.value", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.educational.interactivitylevel.value", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.educational.semanticdensity.value", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.educational.typicalagerange.string", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.educational.learningresourcetype.value", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.educational.learningoutcome.identifier.entry", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.general.identifier.entry.exact", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.general.identifier.entry", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.general.identifier.catalog", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.general.title.string.exact", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.general.title.string", new SnowballAnalyzer("English"));
pfanalyzer.addAnalyzer("lom.general.keyword.string", new SnowballAnalyzer("English"));
pfanalyzer.addAnalyzer("lom.general.language", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.metametadata.identifier.entry.exact", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.metametadata.identifier.entry", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.metametadata.identifier.catalog", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.metametadata.contribute.entity.provider", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.rights.description.string.language", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.rights.description.string", new SnowballAnalyzer("English"));
pfanalyzer.addAnalyzer("lom.rights.cost.value", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.rights.copyrightandotherrestrictions.value", new KeywordAnalyzer());
pfanalyzer.addAnalyzer("lom.technical.format", new KeywordAnalyzer());
}
public PerFieldAnalyzerWrapper getAnalyzer() {
return pfanalyzer;
}
@Override
public TokenStream tokenStream(String arg0, Reader arg1) {
// TODO Auto-generated method stub
return null;
}
}