|
@@ -376,28 +376,33 @@ public class YyskAddressStandardizationServiceImpl {
|
|
|
futures.add(executorService.submit(() -> {
|
|
|
System.out.print(finalI + ">");
|
|
|
List<String> addrList = new ArrayList<>();
|
|
|
- String[] addr = AddressMatcher.matchProvinceAndCity(item.getAddress());
|
|
|
- if (addr != null && !addr[0].contains("上海")) {
|
|
|
// 匹配全国省名
|
|
|
- item.setProvinces(addr[0]);
|
|
|
// 遍历全国城市名称匹配搜索地址市名
|
|
|
- item.setMarket(addr[1]);
|
|
|
+ String[] addr = AddressMatcher.matchProvinceAndCity(item.getAddress());
|
|
|
+ boolean ifSearch = true;
|
|
|
+ if (addr != null && !addr[0].contains("上海")) {
|
|
|
+ addrList.add(item.getAddress());
|
|
|
item.setMatchLevel("rule_0");
|
|
|
+// 如果查询地址不是完全包含省和市的关键字且属于rule_0,那么就需要重新跑一遍
|
|
|
+ if ((!addr[0].isEmpty() && item.getAddress().contains(addr[0])) || (!addr[1].isEmpty() && item.getAddress().contains(addr[1]))) {
|
|
|
+ item.setProvinces(addr[0]);
|
|
|
+ item.setMarket(addr[1]);
|
|
|
+ ifSearch = false;
|
|
|
+ }
|
|
|
} else {
|
|
|
addrList.add(item.getAddress());
|
|
|
- String[] strs = AddressTools.parseAddressJZ(item.getAddress());
|
|
|
- if (strs != null) {
|
|
|
- item.setProvinces(strs[0] == null ? "" : strs[0]);
|
|
|
- item.setMarket(strs[0] == null ? "" : strs[0]);
|
|
|
- item.setDistinguish(strs[1] == null ? "" : strs[1]);
|
|
|
- item.setStreetTown(strs[2] == null ? "" : strs[2]);
|
|
|
- }
|
|
|
+ ifSearch = false;
|
|
|
+// String[] strs = AddressTools.parseAddressJZ(item.getAddress());
|
|
|
+// if (strs != null) {
|
|
|
+// item.setProvinces(strs[0] == null ? "" : strs[0]);
|
|
|
+// item.setMarket(strs[0] == null ? "" : strs[0]);
|
|
|
+// item.setDistinguish(strs[1] == null ? "" : strs[1]);
|
|
|
+// item.setStreetTown(strs[2] == null ? "" : strs[2]);
|
|
|
+// }
|
|
|
}
|
|
|
- String dbMatchLevel = item.getMatchLevel();
|
|
|
- boolean ifSearch = true;
|
|
|
try {
|
|
|
- if (dbMatchLevel.contains("异常") || dbMatchLevel.contains("rule_") || Float.parseFloat(dbMatchLevel) > 1.5) {
|
|
|
- ifSearch = false;
|
|
|
+ if (item.getMatchLevel().contains("异常") || item.getDistinguish() == null || item.getDistinguish().isEmpty() || item.getStreetTown() == null || item.getStreetTown().isEmpty()) {
|
|
|
+ ifSearch = true;
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|