List of usage examples for org.apache.lucene.index IndexWriter deleteDocuments
public long deleteDocuments(Query... queries) throws IOException
From source file:com.appeligo.lucene.DeleteDocumentsAction.java
License:Apache License
public void performAction(IndexWriter writer) throws IOException { writer.deleteDocuments(term); }
From source file:com.appeligo.lucene.DeleteDocumentsMultiTermAction.java
License:Apache License
public void performAction(IndexWriter writer) throws IOException { writer.deleteDocuments(terms); }
From source file:com.aurel.track.lucene.index.associatedFields.AbstractAssociatedFieldIndexer.java
License:Open Source License
/** * Deletes a document by key/*from w ww . j a v a2 s . co m*/ * @param objectID */ @Override public void deleteByKey(Integer objectID) { if (!ClusterBL.indexInstantly()) { LOGGER.debug("Index instantly is false by deleting the " + getLuceneFieldName() + " with entryID " + objectID); return; } if (objectID != null) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Deleting the " + getLuceneFieldName() + " document by Term " + getObjectIDFieldName() + "=" + objectID.toString() + " from " + LuceneUtil.getDirectoryString(getIndexWriterID())); } IndexWriter indexWriter = LuceneIndexer.getIndexWriter(getIndexWriterID()); if (indexWriter == null) { LOGGER.error("IndexWriter null by deleting by key"); return; } Term keyTerm = new Term(getObjectIDFieldName(), objectID.toString()); try { indexWriter.deleteDocuments(keyTerm); } catch (IOException e) { LOGGER.error("Deleting the " + getLuceneFieldName() + " with ID " + objectID + " failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } try { indexWriter.commit(); } catch (IOException e) { LOGGER.error("Flushing the indexWriter after removing a " + getLuceneFieldName() + " with ID " + objectID + " failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } } }
From source file:com.aurel.track.lucene.index.associatedFields.AbstractAssociatedFieldIndexer.java
License:Open Source License
/** * Removes the indexes for a list of workItems * @param workItemIDs/*from www . ja va2s. com*/ */ @Override public void deleteByWorkItems(List<Integer> workItemIDs) { IndexWriter indexWriter = null; try { if (!LuceneUtil.isUseLucene() || workItemIDs == null || workItemIDs.isEmpty()) { return; } indexWriter = LuceneIndexer.getIndexWriter(getIndexWriterID()); if (indexWriter == null) { LOGGER.error("IndexWriter null in deleting by workItems"); return; } if (LOGGER.isDebugEnabled()) { LOGGER.debug("Deleting " + getLuceneFieldName() + " documents for " + workItemIDs.size() + " issues from " + LuceneUtil.getDirectoryString(getIndexWriterID())); } for (Integer workItemID : workItemIDs) { String workItemFieldName = getWorkItemFieldName(); Term keyTerm = new Term(workItemFieldName, workItemID.toString()); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Deleting the " + getLuceneFieldName() + " document by Term " + workItemFieldName + "=" + workItemID.toString()); } try { indexWriter.deleteDocuments(keyTerm); } catch (IOException e) { LOGGER.error("Removing by workItemID " + workItemID + " failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } String additionalWorkitemField = getAdditionalFieldName(); if (additionalWorkitemField != null) { keyTerm = new Term(additionalWorkitemField, workItemID.toString()); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Deleting the " + getLuceneFieldName() + " document by Term " + additionalWorkitemField + "=" + workItemID.toString()); } try { indexWriter.deleteDocuments(keyTerm); } catch (IOException e) { LOGGER.error("Removing by workItemID " + workItemID + " failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } } } } catch (Exception ex) { LOGGER.error("deleteListFromIndex failed with " + ex.getMessage()); } try { indexWriter.commit(); } catch (IOException e) { LOGGER.error("Flushing the indexWriter after removing a list of workItemBeans failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } }
From source file:com.aurel.track.lucene.index.associatedFields.AttachmentIndexer.java
License:Open Source License
/** * Adds an attachment to the attachment index * Used by attaching a new file to the workItem * @param attachFile/*from w w w. ja v a2s.co m*/ */ @Override public void addToIndex(Object object, boolean add) { if (!LuceneUtil.isUseLucene() || !LuceneUtil.isIndexAttachments() || object == null) { return; } if (!ClusterBL.indexInstantly()) { LOGGER.debug("Index instantly is false"); return; } IndexWriter indexWriter = LuceneIndexer.getIndexWriter(getIndexWriterID()); if (indexWriter == null) { LOGGER.error("IndexWriter null by adding an attachment"); return; } if (LOGGER.isDebugEnabled()) { LOGGER.debug("Save a new " + add + " attachment into attachmentIndex"); } TAttachmentBean attachmentBean = (TAttachmentBean) object; if (!add) { Integer objectID = attachmentBean.getObjectID(); if (objectID != null) { Term keyTerm = new Term(getObjectIDFieldName(), objectID.toString()); try { indexWriter.deleteDocuments(keyTerm); indexWriter.commit(); } catch (IOException e) { LOGGER.error("Removing the attachment " + objectID + " failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } } } try { Document doc = createDocument(attachmentBean); if (doc != null) { indexWriter.addDocument(doc); } } catch (IOException e) { LOGGER.error("Adding an attachment to the index failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } try { indexWriter.commit(); } catch (IOException e) { LOGGER.error("Flushing the attachment failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } }
From source file:com.aurel.track.lucene.index.associatedFields.BudgetPlanIndexer.java
License:Open Source License
/** * Adds an attachment to the attachment index * Used by attaching a new file to the workItem * @param attachFile// w w w .ja v a2 s . co m */ @Override public void addToIndex(Object object, boolean add) { if (!LuceneUtil.isUseLucene()) { return; } if (!ClusterBL.indexInstantly()) { LOGGER.debug("Index instantly is false"); return; } IndexWriter indexWriter = LuceneIndexer.getIndexWriter(getIndexWriterID()); if (indexWriter == null) { LOGGER.error("IndexWriter null by adding a budget/plan"); return; } if (LOGGER.isDebugEnabled()) { LOGGER.debug("Save a new " + add + " " + getLuceneFieldName()); } TBudgetBean budgetBean = (TBudgetBean) object; if (!add) { Integer objectID = budgetBean.getObjectID(); if (objectID != null) { Term keyTerm = new Term(getObjectIDFieldName(), objectID.toString()); try { indexWriter.deleteDocuments(keyTerm); indexWriter.commit(); } catch (IOException e) { LOGGER.error("Removing the entity " + objectID + " failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } } } try { Document doc = createDocument(budgetBean); if (doc != null) { indexWriter.addDocument(doc); } } catch (IOException e) { LOGGER.error("Adding a budget/plan to the index failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } try { indexWriter.commit(); } catch (IOException e) { LOGGER.error("Flushing the budget/plan failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } }
From source file:com.aurel.track.lucene.index.associatedFields.ExpenseIndexer.java
License:Open Source License
/** * Adds an attachment to the attachment index * Used by attaching a new file to the workItem * @param attachFile//from w ww .j a v a2 s .c om */ @Override public void addToIndex(Object object, boolean add) { if (!LuceneUtil.isUseLucene()) { return; } if (!ClusterBL.indexInstantly()) { LOGGER.debug("Index instantly is false"); return; } IndexWriter indexWriter = LuceneIndexer.getIndexWriter(getIndexWriterID()); if (indexWriter == null) { LOGGER.error("IndexWriter null by adding an expense"); return; } if (LOGGER.isDebugEnabled()) { LOGGER.debug("Save a new " + add + " " + getLuceneFieldName()); } TCostBean costBean = (TCostBean) object; if (!add) { Integer objectID = costBean.getObjectID(); if (objectID != null) { Term keyTerm = new Term(getObjectIDFieldName(), objectID.toString()); try { indexWriter.deleteDocuments(keyTerm); indexWriter.commit(); } catch (IOException e) { LOGGER.error("Removing the entity " + objectID + " failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } } } try { Document doc = createDocument(costBean); if (doc != null) { indexWriter.addDocument(doc); } } catch (IOException e) { LOGGER.error("Adding an expense to the index failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } try { indexWriter.commit(); } catch (IOException e) { LOGGER.error("Flushing the expense failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } }
From source file:com.aurel.track.lucene.index.associatedFields.LinkIndexer.java
License:Open Source License
/** * Adds an attachment to the attachment index * Used by attaching a new file to the workItem * @param attachFile/*from ww w . j a v a 2s . c om*/ */ @Override public void addToIndex(Object object, boolean add) { if (!LuceneUtil.isUseLucene()) { return; } if (!ClusterBL.indexInstantly()) { LOGGER.debug("Index instantly is false"); return; } IndexWriter indexWriter = LuceneIndexer.getIndexWriter(getIndexWriterID()); if (indexWriter == null) { LOGGER.error("IndexWriter null by adding a link"); return; } if (LOGGER.isDebugEnabled()) { LOGGER.debug("Save a new " + add + " " + getLuceneFieldName()); } TWorkItemLinkBean workItemLinkBean = (TWorkItemLinkBean) object; if (!add) { Integer objectID = workItemLinkBean.getObjectID(); if (objectID != null) { Term keyTerm = new Term(getObjectIDFieldName(), objectID.toString()); try { indexWriter.deleteDocuments(keyTerm); indexWriter.commit(); } catch (IOException e) { LOGGER.error("Removing the entity " + objectID + " failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } } } try { Document doc = createDocument(workItemLinkBean); if (doc != null) { indexWriter.addDocument(doc); } } catch (IOException e) { LOGGER.error("Adding an link to the index failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } try { indexWriter.commit(); } catch (IOException e) { LOGGER.error("Flushing the link failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } }
From source file:com.aurel.track.lucene.index.listFields.AbstractListFieldIndexer.java
License:Open Source License
/** * Deletes a document by key/* w ww . j av a 2 s .co m*/ * @param objectID */ public synchronized void deleteByKeyAndType(Integer objectID, int type) { if (!ClusterBL.indexInstantly()) { LOGGER.debug("Index instantly is false by deleting the entry " + objectID + " from list " + type); return; } if (objectID != null) { IndexWriter indexWriter = LuceneIndexer.getIndexWriter(getIndexWriterID()); if (indexWriter == null) { LOGGER.error("IndexWriter null by deleting a list option by key"); return; } String combinedKeyFieldName = getCombinedKeyFieldName(); String combinedKeyFieldValue = LuceneUtil.getCombinedKeyValue(objectID.toString(), String.valueOf(type)); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Deleting the " + getListFieldType() + " document by Term " + combinedKeyFieldName + "=" + combinedKeyFieldValue + " from " + LuceneUtil.getDirectoryString(getIndexWriterID())); } Term keyTerm = new Term(combinedKeyFieldName, combinedKeyFieldValue); try { indexWriter.deleteDocuments(keyTerm); } catch (IOException e) { LOGGER.error("Removing the list option " + objectID + " type " + type + " failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } try { indexWriter.commit(); } catch (IOException e) { LOGGER.error("Flushing list option removal for list option " + objectID + " type " + type + " failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } } }
From source file:com.aurel.track.lucene.index.LuceneIndexer.java
License:Open Source License
/** * Adds a TWorkItem to the workitem index * Used by creating a new and by updating (delete old and create new) of an existing workItem * Although workItemBean contains no history bean it is not needed * because by creating only an "emtpy" state change history is created. * However it contains the custom attribute values. * @param workItemBean//from w w w .j a v a 2 s .c o m */ public static synchronized void addToWorkItemIndex(TWorkItemBean workItemBean, boolean deleteExisting) { if (!LuceneUtil.isUseLucene()) { return; } if (!ClusterBL.indexInstantly()) { LOGGER.debug("Index instantly is false"); return; } if (workItemBean == null || workItemBean.getObjectID() == null) { LOGGER.error("TWorkItemBean or ObjectID null by adding/updating a workitem"); return; } IndexWriter indexWriter = getWorkItemIndexWriter(); if (indexWriter == null) { LOGGER.error("IndexWriter null by adding a workitem"); return; } if (LOGGER.isDebugEnabled()) { LOGGER.debug("Save a new " + !deleteExisting + " workItem into workItemIndex"); } if (deleteExisting) { String workItemID = workItemBean.getObjectID().toString(); Term term = new Term(LuceneUtil.getFieldName(SystemFields.ISSUENO), workItemID); try { indexWriter.deleteDocuments(term); indexWriter.commit(); } catch (IOException e) { LOGGER.error( "Removing a workItembean " + workItemID + " from the index failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } } List<Integer> workItemIDsList = new ArrayList<Integer>(); workItemIDsList.add(workItemBean.getObjectID()); Map<Integer, StringBuffer> workItemsCommentsMap = HistoryLoaderBL.getByWorkItemsLongTextField( workItemIDsList, SystemFields.INTEGER_COMMENT, HistoryLoaderBL.LONG_TEXT_TYPE.ISPLAIN); String actualComment = workItemBean.getComment(); String actualCommentPlain = ""; try { actualCommentPlain = Html2Text.getNewInstance().convert(actualComment); } catch (Exception e) { LOGGER.warn("Transforming the actual comment to plain text failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); actualCommentPlain = workItemBean.getComment(); } workItemBean .setComment(getComments(workItemsCommentsMap.get(workItemBean.getObjectID()), actualCommentPlain)); Document doc = createWorkItemDocument(workItemBean); //set the original comment back because the workItem will be used by other parts (e-mail notification, etc.) workItemBean.setComment(actualComment); if (doc != null) { try { indexWriter.addDocument(doc); } catch (IOException e) { LOGGER.error("Adding a workItemBean " + workItemBean.getObjectID() + " to the index failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } } try { indexWriter.commit(); } catch (IOException e) { LOGGER.error("Flushing the workItemBean failed with " + e.getMessage()); LOGGER.debug(ExceptionUtils.getStackTrace(e)); } }