|
|
@@ -138,24 +138,21 @@ public class IndexServiceImpl implements IndexService {
|
|
|
indexWriter = indexWriterManager.get();
|
|
|
Long startTime = new Date().getTime();
|
|
|
|
|
|
- // Long kindSize = createKindIndexs();
|
|
|
- // Long kindTime = new Date().getTime();
|
|
|
- // logger.info("创建类目索引: " + kindSize + "条,耗时 " + (kindTime -
|
|
|
- // startTime) + " ms\n");
|
|
|
- //
|
|
|
- // Long brandSize = createBrandIndexs();
|
|
|
- // Long brandTime = new Date().getTime();
|
|
|
- // logger.info("创建品牌索引: " + brandSize + "条,耗时 " + (brandTime -
|
|
|
- // kindTime) + " ms\n");
|
|
|
- //
|
|
|
- // Long componentSize = createComponentIndexesWithFiles();
|
|
|
- // Long componentTime = new Date().getTime();
|
|
|
- // logger.info("创建器件索引: " + componentSize + "条,耗时 " + (componentTime
|
|
|
- // - brandTime) + " ms\n");
|
|
|
+ Long kindSize = createKindIndexs();
|
|
|
+ Long kindTime = new Date().getTime();
|
|
|
+ logger.info("创建类目索引: " + kindSize + "条,耗时 " + (kindTime - startTime) + " ms\n");
|
|
|
+
|
|
|
+ Long brandSize = createBrandIndexs();
|
|
|
+ Long brandTime = new Date().getTime();
|
|
|
+ logger.info("创建品牌索引: " + brandSize + "条,耗时 " + (brandTime - kindTime) + " ms\n");
|
|
|
+
|
|
|
+ Long componentSize = createComponentIndexesWithFiles();
|
|
|
+ Long componentTime = new Date().getTime();
|
|
|
+ logger.info("创建器件索引: " + componentSize + "条,耗时 " + (componentTime - brandTime) + " ms\n");
|
|
|
|
|
|
Long orderSize = createOrderIndexes();
|
|
|
Long orderTime = new Date().getTime();
|
|
|
- logger.info("创建销售单索引: " + orderSize + "条,耗时 " + (orderTime - startTime) + " ms\n");
|
|
|
+ logger.info("创建销售单索引: " + orderSize + "条,耗时 " + (orderTime - componentTime) + " ms\n");
|
|
|
|
|
|
Long orderDetailSize = createOrderDetailIndexes();
|
|
|
Long orderDetailTime = new Date().getTime();
|
|
|
@@ -335,29 +332,50 @@ public class IndexServiceImpl implements IndexService {
|
|
|
return size;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 利用对象数组创建索引
|
|
|
- *
|
|
|
- * @param objects
|
|
|
- * 对象数组,可为OrderSimpleInfo、OrderDetailSimpleInfo、
|
|
|
- * OrderInvoiceSimpleInfo、OrderInvoiceDetailSimpleInfo、
|
|
|
- * PurchaseSimpleInfo、PurchaseDetailSimpleInfo、
|
|
|
- * PurchaseInvoiceSimpleInfo、PurchaseInvoiceDetailSimpleInfo
|
|
|
- * @return 对象数组的数量
|
|
|
- */
|
|
|
- public Long createIndexesWithObjects(Object[] objects) {
|
|
|
- if (objects == null || objects.length < 1)
|
|
|
- return 0L;
|
|
|
-
|
|
|
+ @Override
|
|
|
+ public Long createOrderAndPurchaseIndexes() {
|
|
|
try {
|
|
|
indexWriter = indexWriterManager.get();
|
|
|
- for (Object object : objects) {
|
|
|
- Document document = ObjectToDocumentUtils.toDocument(object);
|
|
|
- if (document != null) {
|
|
|
- indexWriter.addDocument(document);
|
|
|
- }
|
|
|
- }
|
|
|
- indexWriter.commit();
|
|
|
+ Long startTime = new Date().getTime();
|
|
|
+
|
|
|
+ Long orderSize = createOrderIndexes();
|
|
|
+ Long orderTime = new Date().getTime();
|
|
|
+ logger.info("创建销售单索引: " + orderSize + "条,耗时 " + (orderTime - startTime) + " ms\n");
|
|
|
+
|
|
|
+ Long orderDetailSize = createOrderDetailIndexes();
|
|
|
+ Long orderDetailTime = new Date().getTime();
|
|
|
+ logger.info("创建销售单明细索引: " + orderDetailSize + "条,耗时 " + (orderDetailTime - orderTime) + " ms\n");
|
|
|
+
|
|
|
+ Long orderInvoiceSize = createOrderInvoiceIndexes();
|
|
|
+ Long orderInvoiceTime = new Date().getTime();
|
|
|
+ logger.info("创建销售单发货单索引: " + orderInvoiceSize + "条,耗时 " + (orderInvoiceTime - orderDetailTime) + " ms\n");
|
|
|
+
|
|
|
+ Long orderInvoiceDetailSize = createOrderInvoiceDetailIndexes();
|
|
|
+ Long orderInvoiceDetailTime = new Date().getTime();
|
|
|
+ logger.info("创建销售单发货单明细索引: " + orderInvoiceDetailSize + "条,耗时 "
|
|
|
+ + (orderInvoiceDetailTime - orderInvoiceTime) + " ms\n");
|
|
|
+
|
|
|
+ Long purchaseSize = createPurchaseIndexes();
|
|
|
+ Long purchaseTime = new Date().getTime();
|
|
|
+ logger.info("创建采购单索引: " + purchaseSize + "条,耗时 " + (purchaseTime - orderInvoiceDetailTime) + " ms\n");
|
|
|
+
|
|
|
+ Long purchaseDetailSize = createPurchaseDetailIndexes();
|
|
|
+ Long purchaseDetailTime = new Date().getTime();
|
|
|
+ logger.info("创建采购单明细索引: " + purchaseDetailSize + "条,耗时 " + (purchaseDetailTime - purchaseTime) + " ms\n");
|
|
|
+
|
|
|
+ Long purchaseInvoiceSize = createPurchaseInvoiceIndexes();
|
|
|
+ Long purchaseInvoiceTime = new Date().getTime();
|
|
|
+ logger.info("创建采购单发货单索引: " + purchaseInvoiceSize + "条,耗时 " + (purchaseInvoiceTime - purchaseDetailTime)
|
|
|
+ + " ms\n");
|
|
|
+
|
|
|
+ Long purchaseInvoiceDetailSize = createPurchaseInvoiceDetailIndexes();
|
|
|
+ Long purchaseInvoiceDetailTime = new Date().getTime();
|
|
|
+ logger.info("创建采购单发货单明细索引: " + purchaseInvoiceDetailSize + "条,耗时 "
|
|
|
+ + (purchaseInvoiceDetailTime - purchaseInvoiceTime) + " ms\n");
|
|
|
+
|
|
|
+ logger.info("索引创建成功, 共用时间 " + (purchaseInvoiceDetailTime - startTime) + " ms");
|
|
|
+
|
|
|
+ return purchaseInvoiceDetailTime - startTime;
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
} catch (InterruptedException e) {
|
|
|
@@ -365,65 +383,86 @@ public class IndexServiceImpl implements IndexService {
|
|
|
} finally {
|
|
|
indexWriterManager.release();
|
|
|
}
|
|
|
- return (long) objects.length;
|
|
|
+
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Long createOrderIndexes() {
|
|
|
+ private Long createOrderIndexes() {
|
|
|
logger.info("正在创建销售单索引...");
|
|
|
List<OrderSimpleInfo> orders = orderDao.findAll();
|
|
|
return createIndexesWithObjects(orders.toArray());
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Long createOrderDetailIndexes() {
|
|
|
+ private Long createOrderDetailIndexes() {
|
|
|
logger.info("正在创建销售单明细索引...");
|
|
|
List<OrderDetailSimpleInfo> orderDetails = orderDetailDao.findAll();
|
|
|
return createIndexesWithObjects(orderDetails.toArray());
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Long createOrderInvoiceIndexes() {
|
|
|
+ private Long createOrderInvoiceIndexes() {
|
|
|
logger.info("正在创建销售单发货单索引...");
|
|
|
List<OrderInvoiceSimpleInfo> orderInvoices = orderInvoiceDao.findAll();
|
|
|
return createIndexesWithObjects(orderInvoices.toArray());
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Long createOrderInvoiceDetailIndexes() {
|
|
|
+ private Long createOrderInvoiceDetailIndexes() {
|
|
|
logger.info("正在创建销售单发货单明细索引...");
|
|
|
List<OrderInvoiceDetailSimpleInfo> orderInvoiceDetails = orderInvoiceDetailDao.findAll();
|
|
|
return createIndexesWithObjects(orderInvoiceDetails.toArray());
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Long createPurchaseIndexes() {
|
|
|
+ private Long createPurchaseIndexes() {
|
|
|
logger.info("正在创建采购单索引...");
|
|
|
List<PurchaseSimpleInfo> purchases = purchaseDao.findAll();
|
|
|
return createIndexesWithObjects(purchases.toArray());
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Long createPurchaseDetailIndexes() {
|
|
|
+ private Long createPurchaseDetailIndexes() {
|
|
|
logger.info("正在创建采购单明细索引...");
|
|
|
List<PurchaseDetailSimpleInfo> purchaseDetails = purchaseDetailDao.findAll();
|
|
|
return createIndexesWithObjects(purchaseDetails.toArray());
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Long createPurchaseInvoiceIndexes() {
|
|
|
+ private Long createPurchaseInvoiceIndexes() {
|
|
|
logger.info("正在创建采购单发货单索引...");
|
|
|
List<PurchaseInvoiceSimpleInfo> purchaseInvoices = purchaseInvoiceDao.findAll();
|
|
|
return createIndexesWithObjects(purchaseInvoices.toArray());
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Long createPurchaseInvoiceDetailIndexes() {
|
|
|
+ private Long createPurchaseInvoiceDetailIndexes() {
|
|
|
logger.info("正在创建采购单发货单明细索引...");
|
|
|
List<PurchaseInvoiceDetailSimpleInfo> purchaseInvoiceDetails = purchaseInvoiceDetailDao.findAll();
|
|
|
return createIndexesWithObjects(purchaseInvoiceDetails.toArray());
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 利用对象数组创建索引
|
|
|
+ *
|
|
|
+ * @param objects
|
|
|
+ * 对象数组,可为OrderSimpleInfo、OrderDetailSimpleInfo、
|
|
|
+ * OrderInvoiceSimpleInfo、OrderInvoiceDetailSimpleInfo、
|
|
|
+ * PurchaseSimpleInfo、PurchaseDetailSimpleInfo、
|
|
|
+ * PurchaseInvoiceSimpleInfo、PurchaseInvoiceDetailSimpleInfo
|
|
|
+ * @return 对象数组的数量
|
|
|
+ */
|
|
|
+ private Long createIndexesWithObjects(Object[] objects) {
|
|
|
+ if (objects == null || objects.length < 1)
|
|
|
+ return 0L;
|
|
|
+
|
|
|
+ try {
|
|
|
+ for (Object object : objects) {
|
|
|
+ Document document = ObjectToDocumentUtils.toDocument(object);
|
|
|
+ if (document != null) {
|
|
|
+ indexWriter.addDocument(document);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ indexWriter.commit();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return (long) objects.length;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* KindSimpleInfo对象转为Document
|
|
|
*
|