修复二级分段进不去的错误

segment2.0
zhanglb 2 years ago
parent 8151b43a78
commit cdd80baa2e

@ -130,17 +130,9 @@ public class OcrRuleServiceImpl implements IOcrRuleService {
score = ocrRuleSecondJson.getMatchRatio(); score = ocrRuleSecondJson.getMatchRatio();
for (int j = 0; j < keyWordList.length; j++) { for (int j = 0; j < keyWordList.length; j++) {
keyWord = keyWordList[j]; keyWord = keyWordList[j];
if (ocrText.contains(keyWord)) { for (String ocrContent : ocrTextList) {
rate = keyWord.length() / (double) ocrText.length() * 100; if (handleOcrText(assortId, assortName, score, keyWord, ocrRuleResult, ocrContent, ocrRule.getId()))
//判断是否命中
if (rate >= score) {
ocrRuleResult.setRuleId(ocrRule.getId());
ocrRuleResult.setAssortId(assortId);
ocrRuleResult.setAssortName(assortName);
ocrRuleResult.setHitKey(keyWord);
ocrRuleResult.setRate(rate);
return ocrRuleResult; return ocrRuleResult;
}
} }
} }
} }
@ -156,6 +148,23 @@ public class OcrRuleServiceImpl implements IOcrRuleService {
return null; return null;
} }
static boolean handleOcrText(String assortId, String assortName, double score, String keyWord, OcrRuleResult ocrRuleResult, String ocrContent, Long id ) {
double rate;
if (ocrContent.contains(keyWord)) {
rate = keyWord.length() / (double) ocrContent.length() * 100;
//判断是否命中
if (rate >= score) {
ocrRuleResult.setRuleId(id);
ocrRuleResult.setAssortId(assortId);
ocrRuleResult.setAssortName(assortName);
ocrRuleResult.setHitKey(keyWord);
ocrRuleResult.setRate(rate);
return true;
}
}
return false;
}
/** /**
* *
* *

@ -83,17 +83,9 @@ public class OcrRuleTestServiceImpl implements IOcrRuleTestService {
score = ocrRuleSecondJson.getMatchRatio(); score = ocrRuleSecondJson.getMatchRatio();
for (int j = 0; j < keyWordList.length; j++) { for (int j = 0; j < keyWordList.length; j++) {
keyWord = keyWordList[j]; keyWord = keyWordList[j];
if (ocrText.contains(keyWord)) { for (String ocrContent : ocrTextList) {
rate = keyWord.length() / (double) ocrText.length() * 100; if (OcrRuleServiceImpl.handleOcrText(assortId, assortName, score, keyWord, ocrRuleResult, ocrContent, ocrRuleTest.getId()))
//判断是否命中
if (rate >= score) {
ocrRuleResult.setRuleId(ocrRuleTest.getId());
ocrRuleResult.setAssortId(assortId);
ocrRuleResult.setAssortName(assortName);
ocrRuleResult.setHitKey(keyWord);
ocrRuleResult.setRate(rate);
return ocrRuleResult; return ocrRuleResult;
}
} }
} }
} }

Loading…
Cancel
Save