5
回答
jcseg分词器--词库自动更新加载问题
【腾讯云】校园拼团福利,1核2G服务器10元/月!>>>   

@狮子的魂 你好,想跟你请教个问题:

     我在使用 1.9.2的时候测试这个词库自动更新加载没有效果诶。

     我确保自定义jcseg.properties被加载了。指定的词库目录也文件也已经生效。

    并且已经开启 lexicon.autoload=1      lexicon.polltime=60这两个选项。

    我等了1分钟没效果,等了5、6分钟也没效果,一定要重新启动才行。Win7系统   控制台测试。

    请问这是个啥情况?

举报
leave00608
发帖于4年前 5回/301阅
共有5个答案 最后回答: 4年前


恩,我不知道你是怎么测试的,请做如下的确认工作。

1. jcseg.properties做你说的设置。

2. 在对应的lex-xxx.lex词库中加入新词条并且保存

3. 在lex-autoload.todo一行一个加入更新了的词库文件。

4. 测试的时候请多加入几个词条,新加入的词条没有体现效果,并不代码词条没有被载入,加入了新词条并不意味了jcseg会一定这么切分。


//----------------------------------------------------------------

如果确保做到了上面的步骤,还是没有效果,请做如下的调试:

更改org.lionsoul.jcseg.core.ADictionary#startAutoload方法(86行),加入测试输出代码,查看jcseg是否启动了词库加载守护进程。。


Best


--- 共有 1 条评论 ---
leave00608你好,我打印了信息,的确是因为这个守护线程没有启动。我在下面截图 4年前 回复

引用来自“狮子的魂”的评论

加入调试代码后,有重新编译一下吗?

守护进程在solr和lucene中是会工作正常的。。

好吧,我犯傻了,没有编译怎么会看到效果呢。
只有一种可能就是:你在cmd下加载的jcseg.properties配置文件不是你配置好的那个,要不然词库更新守护线程没理由不启动。。。
你可以到git.oschina.net中下载最新的代码,我有提交了新的代码,测试程序中可以直观的看到jcseg加载的是哪个配置文件..
--- 共有 7 条评论 ---
狮子的魂回复 @jacktan1991 : 已经fix。。 4年前 回复
jacktan1991回复 @leave00608 : 这个是个bug吧?我已经在托管的项目issue里面反映了 4年前 回复
狮子的魂回复 @leave00608 : 好吧,我再测试一下,兴许是个bug呢。毕竟我很少在WiNT下活动。。 4年前 回复
leave00608回复 @狮子的魂 : 我用了自定义前后缀,词库文件编码都为utf-8,每次都加了多个词,改了词库后有按要求把词库文件名添加到lex-autoload.todo 文件。 4年前 回复
leave00608回复 @狮子的魂 : 不好意思。。。真不知是我操作问题还是怎么,我在solr里加入也没效果。。。狂汗。。。4.6.1版。确保分词是正常,自定义properties已加载。自定义的路径都不包含空格。 4年前 回复
顶部