*/
package mircoders.producer;
-import java.io.File;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.Map;
-
import mir.entity.Entity;
import mir.entity.adapter.EntityAdapter;
import mir.log.LoggerWrapper;
import mir.misc.StringUtil;
+import mir.producer.AbstractProducerNode;
import mir.producer.ProducerFailure;
-import mir.producer.ProducerNode;
-import mir.util.FileFunctions;
+import mir.util.FileRoutines;
import mir.util.ParameterExpander;
import mircoders.entity.EntityContent;
-import mircoders.search.AudioSearchTerm;
-import mircoders.search.ContentSearchTerm;
-import mircoders.search.ImagesSearchTerm;
-import mircoders.search.IndexUtil;
-import mircoders.search.KeywordSearchTerm;
-import mircoders.search.TextSearchTerm;
-import mircoders.search.TopicSearchTerm;
-import mircoders.search.UnIndexedSearchTerm;
-import mircoders.search.VideoSearchTerm;
-
+import mircoders.search.*;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.FSDirectory;
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.Map;
+
-public class IndexingProducerNode implements ProducerNode {
+public class IndexingProducerNode extends AbstractProducerNode {
private String contentKey;
private String indexPath;
private File indexBasePath;
startTime = System.currentTimeMillis();
try {
- indexFile = FileFunctions.getAbsoluteOrRelativeFile(indexBasePath, ParameterExpander.expandExpression(aValueMap, indexPath));
+ indexFile = FileRoutines.getAbsoluteOrRelativeFile(indexBasePath, ParameterExpander.expandExpression(aValueMap, indexPath));
data = ParameterExpander.findValueForKey(aValueMap, contentKey);
if (!(data instanceof EntityAdapter)) {
entity.getClass().getName() + " adapter", null);
}
- aLogger.info("Indexing " + entity.getFieldValue("id") + " into " + indexFile.getAbsolutePath());
+ aLogger.debug("Indexing " + entity.getFieldValue("id") + " into " + indexFile.getAbsolutePath());
// create an index here if one did not already exist
if (!(IndexReader.indexExists(indexFile))) {
- aLogger.error("Didn't find existing index, so I'm making one in " + indexFile.getAbsolutePath());
+ aLogger.warn("Didn't find existing index, so I'm making one in " + indexFile.getAbsolutePath());
IndexWriter indexCreator = new IndexWriter(indexFile, new StandardAnalyzer(), true);
indexCreator.close();
formattedDate = formatter.format(date);
}
catch (Throwable t) {
- aLogger.error("Error while generating content date to index: " + t.getMessage());
- t.printStackTrace(aLogger.asPrintWriter(LoggerWrapper.DEBUG_MESSAGE));
+ aLogger.warn("Error while generating content date to index", t);
}
}
(new KeywordSearchTerm("webdb_create_formatted", "search_date",
indexWriter.close();
}
catch (Throwable t) {
- aLogger.warn("Error while closing indexWriter: " + t.getMessage());
+ aLogger.warn("Error while closing indexWriter", t);
}
}
}
}
catch (Throwable t) {
- aLogger.warn("Error while unlocking index: " + t.getMessage());
+ aLogger.warn("Error while unlocking index", t);
}
}
}
endTime = System.currentTimeMillis();
- aLogger.info(" IndexTime: " + (endTime - startTime) + " ms<br>");
+ aLogger.debug(" IndexTime: " + (endTime - startTime) + " ms<br>");
}
}