zoukankan      html  css  js  c++  java
  • 结巴net 分词 配置文件路径,在网站中的出现问题的解决

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

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

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

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

    using System.Configuration;
    
    namespace JiebaNet.Segmenter
    {
        public class ConfigManager
        {
    
            private static string serverpath = string.IsNullOrEmpty(ConfigurationManager.AppSettings["apptype"]) ? "" : System.Web.HttpContext.Current.Server.MapPath("/");
            public static string MainDictFile
            {
                get { return serverpath +( ConfigurationManager.AppSettings["MainDictFile"] ??  @"Resourcesdict.txt"); }
            }
    
            public static string ProbTransFile
            {
                get { return serverpath +( ConfigurationManager.AppSettings["ProbTransFile"] ?? @"Resourcesprob_trans.json"); }
            }
    
            public static string ProbEmitFile
            {
                get { return serverpath +( ConfigurationManager.AppSettings["ProbEmitFile"] ??  @"Resourcesprob_emit.json"); }
            }
    
            public static string PosProbStartFile
            {
                get { return serverpath +( ConfigurationManager.AppSettings["PosProbStartFile"] ??  @"Resourcespos_prob_start.json"); }
            }
    
            public static string PosProbTransFile
            {
                get { return serverpath + (ConfigurationManager.AppSettings["PosProbTransFile"] ?? serverpath + @"Resourcespos_prob_trans.json"); }
            }
    
            public static string PosProbEmitFile
            {
                get { return serverpath + (ConfigurationManager.AppSettings["PosProbEmitFile"] ??  @"Resourcespos_prob_emit.json"); }
            }
    
            public static string CharStateTabFile
            {
                get { return serverpath + (ConfigurationManager.AppSettings["CharStateTabFile"] ??  @"Resourceschar_state_tab.json"); }
            }
    
    
            
    
    
    
        }
    }
    

      

    webconfig 

      <appSettings>
        <add key="webPages:Enabled" value="false" />
        <add key="MainDictFile" value="ContentsResourcesdict.txt" />
        <add key="ProbTransFile" value="ContentsResourcesprob_trans.json" />
        <add key="ProbEmitFile" value="ContentsResourcesprob_emit.json" />
        <add key="PosProbStartFile" value="ContentsResourcespos_prob_start.json" />
        <add key="PosProbTransFile" value="ContentsResourcespos_prob_trans.json" />
        <add key="PosProbEmitFile" value="ContentsResourcespos_prob_emit.json" />
        <add key="CharStateTabFile" value="ContentsResourceschar_state_tab.json" />
        <add key="StopWordsFile" value="Resourcesstopwords.txt" />
        <add key="IdfFile" value="ContentsResourcesidf.txt" />
        <add key="apptype" value="web" />
        
      </appSettings>
    

      

    这样就不会报错了

  • 相关阅读:
    MaltReport2:通用文档生成引擎
    PostgreSQL 10 如何使用 PgAdmin3
    Stackoverflow 珠玑:C#封装重试指定次数的功能
    C# 6 元组应用 Part 2:C# 也玩模式匹配
    C# 6 元组应用 Part 1:方便的字典工厂方法
    Stackoverflow 珠玑:用于分组的 LINQ 扩展方法
    Linux 下的 PostgreSQL 数据库+文件通用自动备份脚本
    让 Odoo POS 支持廉价小票打印机
    NopCommerce 根据手机浏览器和桌面浏览器切换 Theme
    为什么 C# 比 C++ 编译快那么多
  • 原文地址:https://www.cnblogs.com/wang2650/p/4962555.html
Copyright © 2011-2022 走看看