结巴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"] ?? @"Resources\dict.txt"); }
} public static string ProbTransFile
{
get { return serverpath +( ConfigurationManager.AppSettings["ProbTransFile"] ?? @"Resources\prob_trans.json"); }
} public static string ProbEmitFile
{
get { return serverpath +( ConfigurationManager.AppSettings["ProbEmitFile"] ?? @"Resources\prob_emit.json"); }
} public static string PosProbStartFile
{
get { return serverpath +( ConfigurationManager.AppSettings["PosProbStartFile"] ?? @"Resources\pos_prob_start.json"); }
} public static string PosProbTransFile
{
get { return serverpath + (ConfigurationManager.AppSettings["PosProbTransFile"] ?? serverpath + @"Resources\pos_prob_trans.json"); }
} public static string PosProbEmitFile
{
get { return serverpath + (ConfigurationManager.AppSettings["PosProbEmitFile"] ?? @"Resources\pos_prob_emit.json"); }
} public static string CharStateTabFile
{
get { return serverpath + (ConfigurationManager.AppSettings["CharStateTabFile"] ?? @"Resources\char_state_tab.json"); }
} }
}
webconfig
<appSettings>
<add key="webPages:Enabled" value="false" />
<add key="MainDictFile" value="Contents\Resources\dict.txt" />
<add key="ProbTransFile" value="Contents\Resources\prob_trans.json" />
<add key="ProbEmitFile" value="Contents\Resources\prob_emit.json" />
<add key="PosProbStartFile" value="Contents\Resources\pos_prob_start.json" />
<add key="PosProbTransFile" value="Contents\Resources\pos_prob_trans.json" />
<add key="PosProbEmitFile" value="Contents\Resources\pos_prob_emit.json" />
<add key="CharStateTabFile" value="Contents\Resources\char_state_tab.json" />
<add key="StopWordsFile" value="Resources\stopwords.txt" />
<add key="IdfFile" value="Contents\Resources\idf.txt" />
<add key="apptype" value="web" /> </appSettings>
这样就不会报错了
结巴net 分词 配置文件路径,在网站中的出现问题的解决的更多相关文章
- SWIFT中获取配置文件路径的方法
在项目中有时候要添加一些配置文件然后在程序中读取相应的配置信息,以下为本人整理的获取项目配置文件(.plist)路径的方法: 1.获取沙盒路径后再APPEND配置文件 func documentsDi ...
- linux中查看nginx、apache、php、mysql配置文件路径的方法
如何在Linux中查看nginx.apache.PHP.MySQL配置文件路径了,如果你接收一个别人配置过的环境,但没留下相关文档.这时该怎么判断找到正确的加载文件路径了.可以通过以下来判断1.判断a ...
- linux中查看nginx、apache、php、mysql配置文件路径
linux高效.稳定,但是也带来维护上的一些问题.配置文件究竟在哪里????? 如何在linux中查看nginx.apache.php.mysql配置文件路径了,如果你接收一个别人配置过的环境,但没留 ...
- 怎么快速找出帝国CMS数据库配置文件路径及迁移网站后修改技巧!
首先,我们要了解一下帝国CMS整个目录结构,只有了解清楚结构,我们才有可能快速找到自己想要的文件,比如:帝国CMS数据库配置文件路径! 帝国CMS目录结构介绍 / 系统根目录├d/ 附件和数据存放目录 ...
- linux虚拟机中各服务端口及配置文件路径
查询端口状况命令: netstat -an| grep 端口号 查询服务状态(服务是否开启)命令:systemctl status 服务名 开启服务命令:systemctl start 服务名 ...
- python结巴(jieba)分词
python结巴(jieba)分词 一.特点 1.支持三种分词模式: (1)精确模式:试图将句子最精确的切开,适合文本分析. (2)全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解 ...
- C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路
C#不用union,而是有更好的方式实现 用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...
- 针对Linux ASP.NET MVC网站中 httpHandlers配置无效的解决方案
近期有Linux ASP.NET用户反映,在MVC网站的Web.config中添加 httpHandlers 配置用于处理自定义类型,但是在运行中并没有产生预期的效果,服务器返回了404(找不到网页) ...
- [译]MVC网站教程(四):MVC4网站中集成jqGrid表格插件(系列完结)
目录 1. 介绍 2. 软件环境 3. 在运行示例代码之前(源代码 + 示例登陆帐号) 4. jqGrid和AJAX 5. GridSettings 6. ...
随机推荐
- java版本特性总结
学java这么久,对其每个版本的特性不是怎么了解,今天总结一下. 1.4: java NIO,基于多路复用技术(基于IO) 1.5 枚举.foreach.static导入 范型(重要) 注解(配置文件 ...
- WPF 出现“调用线程无法访问此对象,因为另一个线程拥有该对象”
引起这种错误多半是由于在非UI线程刷新界面,解决此问题可以使用Dispatcher this.Dispatcher.Invoke(new Action(() => { UpdateUI(stri ...
- VBS 创建快捷方式
Dim Shell,DesktopPath,link Set Shell = CreateObject("WScript.Shell") DesktopPath = Shell.S ...
- JS在生成csv文件时,","逗号问题处理.
在生成csv文件时,发现一个问题,因为csv文件本身是依靠逗号进行分列的,所以内容中有逗号时也被强制分列了,处理方法很简单,为内容加上双引号(英文格式)就可以了. 如: "11111,222 ...
- (4)activiti工作流引擎之uel表达式
有了前面几章,我们肯定有一定的困惑,activiti如何与实际业务整合,比如一条采购单,如何跟一个流程实例互相关联起来? 这里就需要使用到activiti启动流程实例时设置一个流程实例的busines ...
- HashMap,Hash优化与高效散列
OverView Hash table based implementation of the Map interface. This implementation provides all of t ...
- java中将数字的字符串表示转化为数字
int a = new Integer("1234").intValue() 或 int b = Integer.parseInt("1234") System ...
- SpringBoot进行单元测试
SpringBoot进行单元测试,需要在maven中加入以下依赖 <dependency> <groupId>org.springframework.boot</grou ...
- 76. Minimum Window Substring (String, Map)
Given a string S and a string T, find the minimum window in S which will contain all the characters ...
- MongoDB 自动分片 auto sharding
MongoDB部署实验系列文章 MongoDB做为NoSQL数据库,最近几年持续升温,越来越多的企业都开始尝试用MongoDB代替原有Database做一些事情.MongoDB也在集群,分片,复制上也 ...