X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fsearch%2FIndexUtil.java;h=2716aa2ece53805605eb9ecf2b425867cd04c9fc;hb=d06e23e638f2538f263af76bd32da6b140f20ac6;hp=90d52c0d44f2164ea471ce63181b516843f0b929;hpb=a459f111d85598df56c6ab711cec11632676b39c;p=mir.git diff --git a/source/mircoders/search/IndexUtil.java b/source/mircoders/search/IndexUtil.java index 90d52c0d..2716aa2e 100755 --- a/source/mircoders/search/IndexUtil.java +++ b/source/mircoders/search/IndexUtil.java @@ -18,18 +18,19 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * In addition, as a special exception, The Mir-coders gives permission to link - * the code of this program with any library licensed under the Apache Software License, - * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library - * (or with modified versions of the above that use the same license as the above), - * and distribute linked combinations including the two. You must obey the - * GNU General Public License in all respects for all of the code used other than - * the above mentioned libraries. If you modify this file, you may extend this - * exception to your version of the file, but you are not obligated to do so. + * the code of this program with any library licensed under the Apache Software License, + * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library + * (or with modified versions of the above that use the same license as the above), + * and distribute linked combinations including the two. You must obey the + * GNU General Public License in all respects for all of the code used other than + * the above mentioned libraries. If you modify this file, you may extend this + * exception to your version of the file, but you are not obligated to do so. * If you do not wish to do so, delete this exception statement from your version. */ package mircoders.search; +import java.io.File; import java.io.IOException; import mircoders.entity.EntityContent; @@ -38,30 +39,28 @@ import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.Term; import org.apache.lucene.store.FSDirectory; - +/** + * Some utility functions for article (un)indexing + */ public class IndexUtil { - public static void unindexEntity (EntityContent entity,String index) throws IOException{ - IndexReader indexReader = null; - try{ - indexReader = IndexReader.open(index); - indexReader.delete(new Term("id",entity.getValue("id"))); - indexReader.close(); - } - catch(Exception e){ - if (indexReader != null){ - indexReader.close(); - } - } - finally { - if (indexReader != null){ - FSDirectory theIndexDir=FSDirectory.getDirectory(index,false); - if (IndexReader.isLocked(theIndexDir)){ - IndexReader.unlock(theIndexDir); - } - } - } + /** + * Unindexes an article + */ + public static void unindexEntity (EntityContent anEntity, String anIndex) throws IOException{ + unindexEntity(anEntity, new File(anIndex)); + } + + /** + * Unindexes an article + */ + public static void unindexEntity (EntityContent anEntity, File anIndex) throws IOException{ + unindexID(anEntity.getId(), anIndex); } - public static void unindexID (String id,String index) throws IOException{ + + /** + * Unindexes an article by article id + */ + public static void unindexID (String id,File index) throws IOException{ IndexReader indexReader = null; try{ indexReader = IndexReader.open(index); @@ -70,15 +69,15 @@ public class IndexUtil { } catch(Exception e){ if (indexReader != null){ - indexReader.close(); + indexReader.close(); } } - finally { + finally { if (indexReader != null){ - FSDirectory theIndexDir=FSDirectory.getDirectory(index,false); - if (IndexReader.isLocked(theIndexDir)){ - IndexReader.unlock(theIndexDir); - } + FSDirectory theIndexDir=FSDirectory.getDirectory(index,false); + if (IndexReader.isLocked(theIndexDir)){ + IndexReader.unlock(theIndexDir); + } } } }