Commit e7fe5fd6 by xupeng

增加保存到es

parent 9ba0f533
......@@ -243,12 +243,12 @@ public class SuggestTask {
}
}
// 保存到es
saveSuggestKeywordToEs(suggestKeywordInfoList);
if ("true".equalsIgnoreCase(System.getProperty("suggest.saveToFile"))) {
// for test
// save to file
saveSuggestKeywordToFile(suggestKeywordInfoList);
} else {
// save to es
saveSuggestKeywordToEs(suggestKeywordInfoList);
}
}
......@@ -317,20 +317,24 @@ public class SuggestTask {
int esBatchSize = ConfigUtil.getInt("suggestTask.es.batchSize", 2000);
EsClient esClient = EsClient.buildEsClient(esUrl, esUser, esPassword);
List<List<EsSuggestKeywordInfo>> subLists = CollectionUtils.splitList(suggestKeywordInfoList, esBatchSize);
for (List<EsSuggestKeywordInfo> subList : subLists) {
List<EsObject> esList = new ArrayList<>();
for (EsSuggestKeywordInfo esSuggestKeywordInfo : subList) {
esList.add(new EsObject(StringUtils.md5(esSuggestKeywordInfo.getKeyword()), esSuggestKeywordInfo));
}
try {
esClient.batch(esIndex, esType, esList);
} catch (Exception e) {
log.error("saveSuggestKeywordToEs error", e);
FeiShuUtil.sendMessage("suggest-task save to es 异常", "suggest-task save to es 异常");
try {
List<List<EsSuggestKeywordInfo>> subLists = CollectionUtils.splitList(suggestKeywordInfoList, esBatchSize);
for (List<EsSuggestKeywordInfo> subList : subLists) {
List<EsObject> esList = new ArrayList<>();
for (EsSuggestKeywordInfo esSuggestKeywordInfo : subList) {
esList.add(new EsObject(StringUtils.md5(esSuggestKeywordInfo.getKeyword()), esSuggestKeywordInfo));
}
try {
esClient.batch(esIndex, esType, esList);
} catch (Exception e) {
log.error("saveSuggestKeywordToEs error", e);
FeiShuUtil.sendMessage("suggest-task save to es 异常", "suggest-task save to es 异常");
}
}
} finally {
esClient.close();
}
}
}
......@@ -341,9 +345,11 @@ public class SuggestTask {
String fileName = "/tmp/suggest-task/suggest-index-" + DateUtils.formatDate(startTime, "yyyyMMddHHmmss") + ".json";
List<String> lines = new ArrayList<>();
int count = 0;
StringBuilder keywordBuilder = new StringBuilder();
for (count = 0; count < suggestKeywordInfoList.size(); count++) {
EsSuggestKeywordInfo suggestKeywordInfo = suggestKeywordInfoList.get(count);
lines.add(JSON.toJSONString(suggestKeywordInfo));
keywordBuilder.append(suggestKeywordInfo.getKeyword()).append("\n");
if (count > 0 && lines.size() % batch == 0) {
log.info("save {}/{} result to file: {}", lines.size(), count, fileName);
FileUtils.saveToFile(lines, fileName, true);
......@@ -356,6 +362,9 @@ public class SuggestTask {
FileUtils.saveToFile(lines, fileName, true);
lines.clear();
}
String keywordFileName = "/tmp/suggest-task/suggest-index-keyword-" + DateUtils.formatDate(startTime, "yyyyMMddHHmmss") + ".txt";
FileUtils.saveToFile(keywordBuilder.toString(), keywordFileName, false);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment