当前位置:   article > 正文

结巴net 分词 配置文件路径,在网站中的出现问题的解决

jiebanet 自定义词典相对路径

用结巴分词net版,部署到网站上的时候,配置文件的地址为相对路径的时候会出现问题,绝对路径就没有问题。

 

原因是结巴源码中,取路径是取的应用程序的目录。如果是winform程序当然没有问题,在网站就不行了。

 

要分别修改      Segmenter和Analyser中的文件 ConfigManager.cs

 

我用的方法是加一个配置项 apptype  通过配置项是否有值来判断是否网站

 

  1. using System.Configuration;
  2. namespace JiebaNet.Segmenter
  3. {
  4. public class ConfigManager
  5. {
  6. private static string serverpath = string.IsNullOrEmpty(ConfigurationManager.AppSettings["apptype"]) ? "" : System.Web.HttpContext.Current.Server.MapPath("/");
  7. public static string MainDictFile
  8. {
  9. get { return serverpath +( ConfigurationManager.AppSettings["MainDictFile"] ?? @"Resources\dict.txt"); }
  10. }
  11. public static string ProbTransFile
  12. {
  13. get { return serverpath +( ConfigurationManager.AppSettings["ProbTransFile"] ?? @"Resources\prob_trans.json"); }
  14. }
  15. public static string ProbEmitFile
  16. {
  17. get { return serverpath +( ConfigurationManager.AppSettings["ProbEmitFile"] ?? @"Resources\prob_emit.json"); }
  18. }
  19. public static string PosProbStartFile
  20. {
  21. get { return serverpath +( ConfigurationManager.AppSettings["PosProbStartFile"] ?? @"Resources\pos_prob_start.json"); }
  22. }
  23. public static string PosProbTransFile
  24. {
  25. get { return serverpath + (ConfigurationManager.AppSettings["PosProbTransFile"] ?? serverpath + @"Resources\pos_prob_trans.json"); }
  26. }
  27. public static string PosProbEmitFile
  28. {
  29. get { return serverpath + (ConfigurationManager.AppSettings["PosProbEmitFile"] ?? @"Resources\pos_prob_emit.json"); }
  30. }
  31. public static string CharStateTabFile
  32. {
  33. get { return serverpath + (ConfigurationManager.AppSettings["CharStateTabFile"] ?? @"Resources\char_state_tab.json"); }
  34. }
  35. }
  36. }

  

 

webconfig 

  1. <appSettings>
  2. <add key="webPages:Enabled" value="false" />
  3. <add key="MainDictFile" value="Contents\Resources\dict.txt" />
  4. <add key="ProbTransFile" value="Contents\Resources\prob_trans.json" />
  5. <add key="ProbEmitFile" value="Contents\Resources\prob_emit.json" />
  6. <add key="PosProbStartFile" value="Contents\Resources\pos_prob_start.json" />
  7. <add key="PosProbTransFile" value="Contents\Resources\pos_prob_trans.json" />
  8. <add key="PosProbEmitFile" value="Contents\Resources\pos_prob_emit.json" />
  9. <add key="CharStateTabFile" value="Contents\Resources\char_state_tab.json" />
  10. <add key="StopWordsFile" value="Resources\stopwords.txt" />
  11. <add key="IdfFile" value="Contents\Resources\idf.txt" />
  12. <add key="apptype" value="web" />
  13. </appSettings>

  

这样就不会报错了

 

转载于:https://www.cnblogs.com/wang2650/p/4962555.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/633223
推荐阅读
相关标签
  

闽ICP备14008679号