IndexWriter indexWriter = null;
Object data;
Entity entity;
-
+ String index = null;
long startTime;
long endTime;
startTime = System.currentTimeMillis();
-
+
+
+
try {
- data = ParameterExpander.findValueForKey( aValueMap, contentKey );
-
+ index = ParameterExpander.expandExpression(aValueMap, indexPath);
+ data = ParameterExpander.findValueForKey( aValueMap, contentKey );
if (! (data instanceof EntityAdapter)) {
throw new ProducerFailure("IndexingProducerNode: value of '"+contentKey+"' is not an EntityAdapter, but an " + data.getClass().getName(), null);
}
if (! (entity instanceof EntityContent)) {
throw new ProducerFailure("IndexingProducerNode: value of '"+contentKey+"' is not a content EntityAdapter, but a " + entity.getClass().getName() + " adapter", null);
}
- aLogger.info("Indexing " + (String) entity.getValue("id") + " into " + indexPath);
+ aLogger.info("Indexing " + (String) entity.getValue("id") + " into " + index);
// create an index here if one did not already exist
- if (! (IndexReader.indexExists(indexPath))){
- aLogger.error("Didn't find existing index, so I'm making one in "+indexPath);
- IndexWriter indexCreator = new IndexWriter(indexPath,new StandardAnalyzer(),true);
+ if (! (IndexReader.indexExists(index))){
+ aLogger.error("Didn't find existing index, so I'm making one in "+index);
+ IndexWriter indexCreator = new IndexWriter(index,new StandardAnalyzer(),true);
indexCreator.close();
}
- indexReader = IndexReader.open(indexPath);
+ indexReader = IndexReader.open(index);
indexReader.delete(new Term("id",entity.getValue("id")));
indexReader.close();
- indexWriter = new IndexWriter(indexPath, new StandardAnalyzer(), false);
+ indexWriter = new IndexWriter(index, new StandardAnalyzer(), false);
Document theDoc = new Document();
// Keyword is stored and indexed, but not tokenized
try{
- FSDirectory theIndexDir=FSDirectory.getDirectory(indexPath,false);
+ FSDirectory theIndexDir=FSDirectory.getDirectory(index,false);
if (indexReader.isLocked(theIndexDir)){
indexReader.unlock(theIndexDir);
}
IndexReader indexReader = null;
Object data;
Entity entity;
+ String index=null;
long startTime;
long endTime;
startTime = System.currentTimeMillis();
try {
+ index = ParameterExpander.expandExpression(aValueMap, indexPath);
data = ParameterExpander.findValueForKey( aValueMap, contentKey );
if (! (data instanceof EntityAdapter)) {
if (! (entity instanceof EntityContent)) {
throw new ProducerFailure("UnIndexingProducerNode: value of '"+contentKey+"' is not a content EntityAdapter, but a " + entity.getClass().getName() + " adapter", null);
}
- aLogger.info("UnIndexing " + (String) entity.getValue("id") + " out of " + indexPath);
+ aLogger.info("UnIndexing " + (String) entity.getValue("id") + " out of " + index);
- indexReader = IndexReader.open(indexPath);
+ indexReader = IndexReader.open(index);
indexReader.delete(new Term("id",entity.getValue("id")));
indexReader.close();
}
try{
- FSDirectory theIndexDir=FSDirectory.getDirectory(indexPath,false);
- if (indexReader.isLocked(theIndexDir)){
- indexReader.unlock(theIndexDir);
- }
+ if (index != null){
+ FSDirectory theIndexDir=FSDirectory.getDirectory(index,false);
+ if (indexReader.isLocked(theIndexDir)){
+ indexReader.unlock(theIndexDir);
+ }
+ }
}
catch (Throwable t) {
aLogger.warn("Error while unlocking index: " + t.getMessage());