solr jcseg 词库自动加载的问题

发布于 2021-12-01 02:39:19 字数 527 浏览 819 评论 29

@狮子的魂

你好,最近项目的搜索需要分词,试了好几种,碰到jcseg觉得很不错。

我现在的问题是按照配置顺序来的 但是还是没办法自动加载词库  solr启动时都没加载。

我想知道 除了配置autoload为1 和在lex-autoload.todo内加要更新的文件名  之外 还有其他的配置吗?

solr 启动时 调试ADictionary内 autoloadThread为null 而自动加载 更是都没进去这个类






如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(29

北笙凉宸 2021-12-05 16:12:42

在使用Solr 4.8 + Jcseg 1.93的时候,发现自动加载更新后的词库的功能不能使用,不知道是可能因为什么原因导致的呢?

现象:设置了properties中的autoload=1,polltime=30,然后在lexicon目录下的lex-autoload.todo中加上了需要自动更新的文件名lex-test.lex,在启动Solr(通过直接DOS下执行java -jar start.jar方式)后,在lex-test.lex文件中添加新的分词,保存以后,观察lex-autoload.todo文件的变化,但是1分钟以后发现还是没有改变,没有被清空,而新的分词也没有办法使用。

永不分离 2021-12-05 16:12:41

可以能是你的更改引起的,确认下你改的代码,不要出现单例中的lazyInitRice静态条件等。。。

伪装你 2021-12-05 16:12:38

@狮子的魂 已解决EC_MIXED_WORD类型的问题 ,但是 CE_MIXED_WORD不行了。。。。中+英的。。。。

清风夜微凉 2021-12-05 16:12:38

CJK_WORDS 类型 完全没问题

瀞厅☆埖开 2021-12-05 16:12:38


@狮子的魂 发现一个问题 我不知道是不是bug   dic单例模式下  solr的多core 会随机1-2个core加载不了JcsegTokenizerFactory   

Caused by: org.apache.solr.common.SolrException: Plugin init failure for [schema.xml] analyzer/tokenizer: Error instantiating class: org.lionsoul.jcseg.analyzer.JcsegTokenizerFactory   

屌丝范 2021-12-05 16:12:38



时光清浅 2021-12-05 16:12:33

回复
好的 谢谢!

飘然心甜 2021-12-05 16:12:33

回复
中英组合词保证中文部分是一个JCK_WORDS中的词条即可,例如:拳皇OVA,保证CJK_WORDS词库中有“拳皇”即可!

睫毛上残留的泪 2021-12-05 16:12:32

@狮子的魂 jcseg配置文件内 maxlen 最大匹配数 你建议设的是5-7 我设的是12 也可以用 但是不知道 这会影响那方面?因为我词库一半以上是7个数以上的

柳若烟 2021-12-05 16:12:32

@狮子的魂 我在EC_MIXED_WORD 内 增添了一些词 为什么只有红箭头的2个词对了,其他的完全没分

初见你 2021-12-05 16:12:31

引用来自“末之未央”的评论

@狮子的魂 你好 我想再问下 你jcseg的词库用什么工具来维护的?或者说怎么维护起来方便,这段时间下来,最终确定用jcseg分词 因为比较符合我们的项目需求,但是发现词库的维护 是个恶心的地方。。。

泛泛之交 2021-12-05 16:12:31

回复
除了切分速度,其他没啥影响!(排除大颗粒切分对你项目的影响)

秋意浓 2021-12-05 16:12:30

@狮子的魂 你好 我想再问下 你jcseg的词库用什么工具来维护的?或者说怎么维护起来方便,这段时间下来,最终确定用jcseg分词 因为比较符合我们的项目需求,但是发现词库的维护 是个恶心的地方。。。

坐在坟头思考人生 2021-12-05 16:12:30

特别是前期,一大堆词组 要转成jcseg的。。。

眉黛浅 2021-12-05 16:12:29

请google一下“java单例设计模式”! 然后更改下org.lionsoul.jcseg.Dictionary为单例模式即可!

策马西风 2021-12-05 16:12:26

单例模式 百度google都有的 改起来很简单 实在不会私信我 不过我觉的自己研究最好

平定天下 2021-12-05 16:12:23

 

@狮子的魂  

@末之未央 两位大哥 我刚研究分词不久 现在碰到类似多实例的问题,请问怎么改成单例模式啊

情栀口红 2021-12-05 16:11:11

有权限问题吗?

酷到爆炸 2021-12-05 16:08:40

除此外,另外还有一个问题,就是如果solr启动了多个Jcseg词库实例,只有一个词库实例会更新词库,因为一个词库更新完后,他就会清空autoload.todo,你可能需要自己把Dictionary类改成单例模式!

为你鎻心 2021-12-05 16:08:02

回复
没有权限的问题 我先改成单例试试

因为看清所以看轻 2021-12-05 16:05:17

回复
请先升级,将analyzer改下就可以适应solr的老版本了,或者把1.9.4的老版本的analyzer那过来覆盖就ok了!

反目相谮 2021-12-05 15:33:14

1.

2.

3.

羁拥 2021-12-05 14:58:40

solr 4.72 jcseg 1.94

一个人的旅程 2021-12-05 14:09:47

回复
老版本有bug,http://git.oschina.net/lionsoul/jcseg下载最新版本就ok了!

飘然心甜 2021-12-05 13:40:20

回复
最新版本貌似不兼容solr4.7.2啊 因为如果我换solr版本的话 改动太大了

傾城如夢未必闌珊 2021-12-05 06:48:50

回复
现在定时生效了~ 但是 获取的lastModified和文件的lastModified都为0 你知道是什么原因吗 词库的路径我已经在配置文件内指定了。。。

风柔一江水 2021-12-05 02:20:14

回复
定时有用,但词库未更新

归属感 2021-12-05 01:15:08

用的最新版本吗?http://git.oschina.net/lionsoul/jcseg

月亮是我掰弯的 2021-12-04 21:08:57

哦 对了 时间我也设了 30S

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文