|
@@ -112,7 +112,7 @@ public class IndexServiceImpl implements IndexService {
|
|
|
} else {
|
|
} else {
|
|
|
createIndexesFromFiles(ClassAndTableNameUtils.toClass(tableName));
|
|
createIndexesFromFiles(ClassAndTableNameUtils.toClass(tableName));
|
|
|
}
|
|
}
|
|
|
- indexSearcherManager.flushCache(tableName, null);
|
|
|
|
|
|
|
+ indexSearcherManager.flushCache(tableName, indexWriter, null);
|
|
|
}
|
|
}
|
|
|
} catch (Throwable e) {
|
|
} catch (Throwable e) {
|
|
|
// 防止SQLRecoverableException导致应用终止
|
|
// 防止SQLRecoverableException导致应用终止
|
|
@@ -261,7 +261,6 @@ public class IndexServiceImpl implements IndexService {
|
|
|
indexWriter = indexWriterManager.get(tableName);
|
|
indexWriter = indexWriterManager.get(tableName);
|
|
|
logger.info("正在清理旧索引..." + tableName.value());
|
|
logger.info("正在清理旧索引..." + tableName.value());
|
|
|
indexWriter.deleteAll();
|
|
indexWriter.deleteAll();
|
|
|
- indexWriter.commit();
|
|
|
|
|
logger.info("旧索引清理完毕..." + tableName.value());
|
|
logger.info("旧索引清理完毕..." + tableName.value());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -379,8 +378,7 @@ public class IndexServiceImpl implements IndexService {
|
|
|
Table_name tableName = ClassAndTableNameUtils.toTableName(obj.getClass());
|
|
Table_name tableName = ClassAndTableNameUtils.toTableName(obj.getClass());
|
|
|
indexWriter = indexWriterManager.get(tableName);
|
|
indexWriter = indexWriterManager.get(tableName);
|
|
|
indexWriter.addDocument(document);
|
|
indexWriter.addDocument(document);
|
|
|
- indexWriter.commit();
|
|
|
|
|
- indexSearcherManager.flushCache(tableName, null);
|
|
|
|
|
|
|
+ indexSearcherManager.flushCache(tableName, indexWriter, null);
|
|
|
return obj;
|
|
return obj;
|
|
|
} catch (IOException | InterruptedException e) {
|
|
} catch (IOException | InterruptedException e) {
|
|
|
logger.error("", e);
|
|
logger.error("", e);
|
|
@@ -404,8 +402,7 @@ public class IndexServiceImpl implements IndexService {
|
|
|
indexWriter = indexWriterManager.get(tableName);
|
|
indexWriter = indexWriterManager.get(tableName);
|
|
|
indexWriter.updateDocument(new Term(ClassAndTableNameUtils.getIdField(obj.getClass()),
|
|
indexWriter.updateDocument(new Term(ClassAndTableNameUtils.getIdField(obj.getClass()),
|
|
|
String.valueOf(ClassAndTableNameUtils.getId(obj))), document);
|
|
String.valueOf(ClassAndTableNameUtils.getId(obj))), document);
|
|
|
- indexWriter.commit();
|
|
|
|
|
- indexSearcherManager.flushCache(tableName, null);
|
|
|
|
|
|
|
+ indexSearcherManager.flushCache(tableName, indexWriter, null);
|
|
|
return obj;
|
|
return obj;
|
|
|
} catch (IOException | InterruptedException e) {
|
|
} catch (IOException | InterruptedException e) {
|
|
|
logger.error("", e);
|
|
logger.error("", e);
|
|
@@ -427,8 +424,7 @@ public class IndexServiceImpl implements IndexService {
|
|
|
indexWriter = indexWriterManager.get(tableName);
|
|
indexWriter = indexWriterManager.get(tableName);
|
|
|
indexWriter.deleteDocuments(new Term(ClassAndTableNameUtils.getIdField(obj.getClass()),
|
|
indexWriter.deleteDocuments(new Term(ClassAndTableNameUtils.getIdField(obj.getClass()),
|
|
|
String.valueOf(ClassAndTableNameUtils.getId(obj))));
|
|
String.valueOf(ClassAndTableNameUtils.getId(obj))));
|
|
|
- indexWriter.commit();
|
|
|
|
|
- indexSearcherManager.flushCache(tableName, null);
|
|
|
|
|
|
|
+ indexSearcherManager.flushCache(tableName, indexWriter, null);
|
|
|
return obj;
|
|
return obj;
|
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
|
logger.error("", e);
|
|
logger.error("", e);
|