Commit 51a59d4b by 陶然

优化

parent c98e4caf
...@@ -10,7 +10,7 @@ namespace Njust.Pdf.Analysis.Entities ...@@ -10,7 +10,7 @@ namespace Njust.Pdf.Analysis.Entities
{ {
[Alias(Configs.TableDisCoOrgan)] [Alias(Configs.TableDisCoOrgan)]
[Api(Description = "机构合作分布")] [Api(Description = "机构合作分布")]
public class DisCoOrgran : EntityWithMetadata public class DisCoOrgan : EntityWithMetadata
{ {
[ApiMember(Description = "所属领域")] [ApiMember(Description = "所属领域")]
public string DomainName { get; set; } public string DomainName { get; set; }
......
...@@ -24,6 +24,9 @@ namespace Njust.Pdf.Analysis.Entities ...@@ -24,6 +24,9 @@ namespace Njust.Pdf.Analysis.Entities
[ApiMember(Description = "国家")] [ApiMember(Description = "国家")]
public string Country { get; set; } public string Country { get; set; }
[ApiMember(Description = "英文表示")]
public string EnCountry { get; set; }
[ApiMember(Description = "国家发表文献数量")] [ApiMember(Description = "国家发表文献数量")]
public int Count { get; set; } public int Count { get; set; }
} }
......
...@@ -28,7 +28,7 @@ namespace Njust.Pdf.Analysis.Entities ...@@ -28,7 +28,7 @@ namespace Njust.Pdf.Analysis.Entities
public string TopicWord { get; set; } public string TopicWord { get; set; }
[ApiMember(Description = "主题词概率TOP10")] [ApiMember(Description = "主题词概率TOP10")]
public string TopicWordProbability { get; set; } public List<double> TopicWordProbability { get; set; }
[ApiMember(Description = "主题支持文档列表")] [ApiMember(Description = "主题支持文档列表")]
[StringLength(5000)] [StringLength(5000)]
......
...@@ -8,8 +8,8 @@ using Kivii.DataAnnotations; ...@@ -8,8 +8,8 @@ using Kivii.DataAnnotations;
namespace Njust.Pdf.Analysis.Entities namespace Njust.Pdf.Analysis.Entities
{ {
[Alias(Configs.TableDisTimeTopic)] [Alias(Configs.TableDisTopicEvolution)]
[Api(Description = "TableDisTopicEvolution")] [Api(Description = "主题演化分布")]
public class DisTopicEvolution : EntityWithMetadata public class DisTopicEvolution : EntityWithMetadata
{ {
[ApiMember(Description = "所属领域")] [ApiMember(Description = "所属领域")]
......
...@@ -42,9 +42,6 @@ namespace Njust.Pdf.Analysis.Jobs ...@@ -42,9 +42,6 @@ namespace Njust.Pdf.Analysis.Jobs
} }
private bool textPdfBox() private bool textPdfBox()
{ {
//var text1 = "\x9f\x0f\x12";
Regex regex = new Regex(@"/\\x[\da-zA-Z]+/g");
//text1 = regex.Replace(text1, "");
int succeed = 0, total = 0; int succeed = 0, total = 0;
var conn = KiviiContext.GetOpenedDbConnection<AnalyseAll>(); var conn = KiviiContext.GetOpenedDbConnection<AnalyseAll>();
try try
...@@ -73,8 +70,10 @@ namespace Njust.Pdf.Analysis.Jobs ...@@ -73,8 +70,10 @@ namespace Njust.Pdf.Analysis.Jobs
if (pdfFile == null) throw new Exception($"未找Pdf文件:{item.Title},HashCode:{item.HashCode}"); if (pdfFile == null) throw new Exception($"未找Pdf文件:{item.Title},HashCode:{item.HashCode}");
var physicalStorageFilePath = pdfFile.GetPhysicalPath(); var physicalStorageFilePath = pdfFile.GetPhysicalPath();
if (!File.Exists(physicalStorageFilePath)) throw new Exception($"未找Pdf文件:{item.Title},HashCode:{item.HashCode}"); if (!File.Exists(physicalStorageFilePath)) throw new Exception($"未找Pdf文件:{item.Title},HashCode:{item.HashCode}");
Console.WriteLine("-------------------------Pre-------------------------");
Console.WriteLine($"-------------------------{physicalStorageFilePath}-------------------------");
var text = Kivii.PdfBox.Instance.ReadText(physicalStorageFilePath); var text = Kivii.PdfBox.Instance.ReadText(physicalStorageFilePath);
text = regex.Replace(text, ""); Console.WriteLine("-------------------------Ok-------------------------");
item.Allbody = text; item.Allbody = text;
item.AddOnlyProperties(o => o.Allbody); item.AddOnlyProperties(o => o.Allbody);
item.AnlysisTime = DateTime.Now; item.AnlysisTime = DateTime.Now;
...@@ -83,15 +82,19 @@ namespace Njust.Pdf.Analysis.Jobs ...@@ -83,15 +82,19 @@ namespace Njust.Pdf.Analysis.Jobs
item.AddOnlyProperties(o => o.AnlysisUserName); item.AddOnlyProperties(o => o.AnlysisUserName);
item.IsAnlysis = true; item.IsAnlysis = true;
item.AddOnlyProperties(o => o.IsAnlysis); item.AddOnlyProperties(o => o.IsAnlysis);
Console.WriteLine("-------------------------PreUpdateOnly-------------------------");
conn.UpdateOnly(item); conn.UpdateOnly(item);
Console.WriteLine("-------------------------UpdateOnly-------------------------");
succeed++; succeed++;
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine("-------------------------Ex-------------------------");
TaskContext.Message = $"处理消息异常:共处理{succeed}/{total},Kvid:{item.Kvid},Ex:{ex.Message}"; TaskContext.Message = $"处理消息异常:共处理{succeed}/{total},Kvid:{item.Kvid},Ex:{ex.Message}";
item.Status += 1; item.Status += 1;
item.AddOnlyProperties(o => o.Status); item.AddOnlyProperties(o => o.Status);
conn.UpdateOnly(item); conn.UpdateOnly(item);
Console.WriteLine("-------------------------ExUpdate-------------------------");
return false; return false;
} }
......
...@@ -84,5 +84,8 @@ ...@@ -84,5 +84,8 @@
<ItemGroup> <ItemGroup>
<None Include="packages.config" /> <None Include="packages.config" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\countrytranslation.txt" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>
\ No newline at end of file
Singapore Rep.:新加坡
Dominican Rep.:多米尼加
Palestine:巴勒斯坦
Bahamas:巴哈马
Timor-Leste:东帝汶
Afghanistan:阿富汗
Guinea-Bissau:几内亚比绍
Côte dIvoire:科特迪瓦
Siachen Glacier:锡亚琴冰川
Br. Indian Ocean Ter.:英属印度洋领土
Angola:安哥拉
Albania:阿尔巴尼亚
United Arab Emirates:阿联酋
Argentina:阿根廷
Armenia:亚美尼亚
French Southern and Antarctic Lands:法属南半球和南极领地
Australia:澳大利亚
Austria:奥地利
Azerbaijan:阿塞拜疆
Burundi:布隆迪
Belgium:比利时
Benin:贝宁
Burkina Faso:布基纳法索
Bangladesh:孟加拉国
Bulgaria:保加利亚
The Bahamas:巴哈马
Bosnia and Herz.:波斯尼亚和黑塞哥维那
Belarus:白俄罗斯
Belize:伯利兹
Bermuda:百慕大
Bolivia:玻利维亚
Brazil:巴西
Brunei:文莱
Bhutan:不丹
Botswana:博茨瓦纳
Central African Rep.:中非
Canada:加拿大
Switzerland:瑞士
Chile:智利
China:中国
Ivory Coast:象牙海岸
Cameroon:喀麦隆
Dem. Rep. Congo:刚果民主共和国
Congo:刚果
Colombia:哥伦比亚
Costa Rica:哥斯达黎加
Cuba:古巴
N. Cyprus:北塞浦路斯
Cyprus:塞浦路斯
Czech Rep.:捷克
Germany:德国
Djibouti:吉布提
Denmark:丹麦
Algeria:阿尔及利亚
Ecuador:厄瓜多尔
Egypt:埃及
Eritrea:厄立特里亚
Spain:西班牙
Estonia:爱沙尼亚
Ethiopia:埃塞俄比亚
Finland:芬兰
Fiji:斐
Falkland Islands:福克兰群岛
France:法国
Gabon:加蓬
United Kingdom:英国
Georgia:格鲁吉亚
Ghana:加纳
Guinea:几内亚
Gambia:冈比亚
Guinea Bissau:几内亚比绍
Eq. Guinea:赤道几内亚
Greece:希腊
Greenland:格陵兰
Guatemala:危地马拉
French Guiana:法属圭亚那
Guyana:圭亚那
Honduras:洪都拉斯
Croatia:克罗地亚
Haiti:海地
Hungary:匈牙利
Indonesia:印度尼西亚
India:印度
Ireland:爱尔兰
Iran:伊朗
Iraq:伊拉克
Iceland:冰岛
Israel:以色列
Italy:意大利
Jamaica:牙买加
Jordan:约旦
Japan:日本
Japan:日本本土
Kazakhstan:哈萨克斯坦
Kenya:肯尼亚
Kyrgyzstan:吉尔吉斯斯坦
Cambodia:柬埔寨
Korea:韩国
Kosovo:科索沃
Kuwait:科威特
Lao PDR:老挝
Lebanon:黎巴嫩
Liberia:利比里亚
Libya:利比亚
Sri Lanka:斯里兰卡
Lesotho:莱索托
Lithuania:立陶宛
Luxembourg:卢森堡
Latvia:拉脱维亚
Morocco:摩洛哥
Moldova:摩尔多瓦
Madagascar:马达加斯加
Mexico:墨西哥
Macedonia:马其顿
Mali:马里
Myanmar:缅甸
Montenegro:黑山
Mongolia:蒙古
Mozambique:莫桑比克
Mauritania:毛里塔尼亚
Malawi:马拉维
Malaysia:马来西亚
Namibia:纳米比亚
New Caledonia:新喀里多尼亚
Niger:尼日尔
Nigeria:尼日利亚
Nicaragua:尼加拉瓜
Netherlands:荷兰
Norway:挪威
Nepal:尼泊尔
New Zealand:新西兰
Oman:阿曼
Pakistan:巴基斯坦
Panama:巴拿马
Peru:秘鲁
Philippines:菲律宾
Papua New Guinea:巴布亚新几内亚
Poland:波兰
Puerto Rico:波多黎各
Dem. Rep. Korea:朝鲜
Portugal:葡萄牙
Paraguay:巴拉圭
Qatar:卡塔尔
Romania:罗马尼亚
Russia:俄罗斯
Rwanda:卢旺达
W. Sahara:西撒哈拉
Saudi Arabia:沙特阿拉伯
Sudan:苏丹
S. Sudan:南苏丹
Senegal:塞内加尔
Solomon Is.:所罗门群岛
Sierra Leone:塞拉利昂
El Salvador:萨尔瓦多
Somaliland:索马里兰
Somalia:索马里
Serbia:塞尔维亚
Suriname:苏里南
Slovakia:斯洛伐克
Slovenia:斯洛文尼亚
Sweden:瑞典
Swaziland:斯威士兰
Syria:叙利亚
Chad:乍得
Togo:多哥
Thailand:泰国
Tajikistan:塔吉克斯坦
Turkmenistan:土库曼斯坦
East Timor:东帝汶
Trinidad and Tobago:特里尼达和多巴哥
Tunisia:突尼斯
Turkey:土耳其
Tanzania:坦桑尼亚
Uganda:乌干达
Ukraine:乌克兰
Uruguay:乌拉圭
United States:美国
Uzbekistan:乌兹别克斯坦
Venezuela:委内瑞拉
Vietnam:越南
Vanuatu:瓦努阿图
West Bank:西岸
Yemen:也门
South Africa:南非
Zambia:赞比亚
Zimbabwe:津巴布韦
\ No newline at end of file
...@@ -192,6 +192,8 @@ namespace Njust.Pdf.Analysis.Tranforms ...@@ -192,6 +192,8 @@ namespace Njust.Pdf.Analysis.Tranforms
var allAuthors = conn.Select<Author>(o => Sql.In(o.AnalyseKvid, Items.ConvertAll(p => p.Kvid))); var allAuthors = conn.Select<Author>(o => Sql.In(o.AnalyseKvid, Items.ConvertAll(p => p.Kvid)));
var allKeywords = conn.Select<Keyword>(o => Sql.In(o.AnalyseKvid, Items.ConvertAll(p => p.Kvid))); var allKeywords = conn.Select<Keyword>(o => Sql.In(o.AnalyseKvid, Items.ConvertAll(p => p.Kvid)));
var allOrgans = conn.Select<Organ>(o => Sql.In(o.AnalyseKvid, Items.ConvertAll(p => p.Kvid))); var allOrgans = conn.Select<Organ>(o => Sql.In(o.AnalyseKvid, Items.ConvertAll(p => p.Kvid)));
var allItems = conn.Select<Analyse>(o => Sql.In(o.Kvid, Items.ConvertAll(p => p.Kvid)));
allItems.ThrowIfNullOrEmpty("未找到要复核的项!");
var trans = conn.OpenTransaction(); var trans = conn.OpenTransaction();
...@@ -201,6 +203,8 @@ namespace Njust.Pdf.Analysis.Tranforms ...@@ -201,6 +203,8 @@ namespace Njust.Pdf.Analysis.Tranforms
{ {
if (item == null) continue; if (item == null) continue;
if (item.Kvid == Guid.Empty) continue; if (item.Kvid == Guid.Empty) continue;
var exist = allItems.FirstOrDefault(o => o.Kvid == item.Kvid);
if (exist == null) continue;
item.RemoveAllOnlyProperties(); item.RemoveAllOnlyProperties();
#region Author #region Author
var currentAuthors = allAuthors.Where(o => o.AnalyseKvid == item.Kvid).ToList(); var currentAuthors = allAuthors.Where(o => o.AnalyseKvid == item.Kvid).ToList();
...@@ -212,9 +216,9 @@ namespace Njust.Pdf.Analysis.Tranforms ...@@ -212,9 +216,9 @@ namespace Njust.Pdf.Analysis.Tranforms
if (currentAuthors.Exists(o => o.Name == auth)) continue; if (currentAuthors.Exists(o => o.Name == auth)) continue;
var author = new Author(); var author = new Author();
author.Name = auth; author.Name = auth;
author.DomainName = item.DomainName; author.DomainName = exist.DomainName;
author.Language = item.Language; author.Language = exist.Language;
author.AnalyseKvid = item.Kvid; author.AnalyseKvid = exist.Kvid;
conn.Insert(author); conn.Insert(author);
} }
item.Author = string.Join(";", authors); item.Author = string.Join(";", authors);
...@@ -233,9 +237,9 @@ namespace Njust.Pdf.Analysis.Tranforms ...@@ -233,9 +237,9 @@ namespace Njust.Pdf.Analysis.Tranforms
if (currentKeywords.Exists(o => o.Title == key)) continue; if (currentKeywords.Exists(o => o.Title == key)) continue;
var keyword = new Keyword(); var keyword = new Keyword();
keyword.Title = key; keyword.Title = key;
keyword.DomainName = item.DomainName; keyword.DomainName = exist.DomainName;
keyword.Language = item.Language; keyword.Language = exist.Language;
keyword.AnalyseKvid = item.Kvid; keyword.AnalyseKvid = exist.Kvid;
conn.Insert(keyword); conn.Insert(keyword);
} }
item.Keywords = string.Join(";", keywords); item.Keywords = string.Join(";", keywords);
...@@ -253,9 +257,9 @@ namespace Njust.Pdf.Analysis.Tranforms ...@@ -253,9 +257,9 @@ namespace Njust.Pdf.Analysis.Tranforms
if (currentOrgans.Exists(o => o.Title == key)) continue; if (currentOrgans.Exists(o => o.Title == key)) continue;
var organ = new Organ(); var organ = new Organ();
organ.Title = key; organ.Title = key;
organ.DomainName = item.DomainName; organ.DomainName = exist.DomainName;
organ.Language = item.Language; organ.Language = exist.Language;
organ.AnalyseKvid = item.Kvid; organ.AnalyseKvid = exist.Kvid;
conn.Insert(organ); conn.Insert(organ);
} }
item.Organization = string.Join(";", organs); item.Organization = string.Join(";", organs);
......
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