设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 2108|回复: 0

mmseg4j中的MMSeg4jHandler,动态加载词库

[复制链接]

签到天数: 36 天

[LV.5]常住居民I

发表于 2016/11/19 15:06 | 显示全部楼层 |阅读模式 |搜狗浏览器|Windows 7
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
  mmseg4j 1.8 中有词库变化检测功能,新加载词库后,很有可能此时的分词(搜索时)与索引不对应了。所以要有个机制让重新做索引。

  这里使用最简单的方式,就是被动式的加载词库。由外围的程序去决定什么时候更新词库,然后也由外围的程序决定重做索引与否。比如可以写个 shell 脚本放到 crontab 里。

  按 solr 的理念——用 url 方式去通知 mmseg4j 加载词库。这个任务交出 MMseg4jHandler 去做。

  参数:

  dicPath 是指定词库的目录,特性与MMSegTokenizerFactory中的dicPath一样(相对目录是,是相对 solr.home)。

  check 是指是否检测词库,其值是true 或 on。

  reload 是否尝试加载词库,其值是 true 或 on。此值为 true,会忽视 check 参数。

  solrconfig.xml文件增加:

  <requestHandler name="/mmseg4j" class="com.chenlb.mmseg4j.solr.MMseg4jHandler" >

  <lst name="defaults">

  <str name="dicPath">dic</str>

  </lst>

  </requestHandler>

  然后可以用 http://localhost:8080/solr/mmseg4j/?reload=true,去尝试加载(注意:内存空间要有2倍词库大小的可能空间。一个词库可可能 50M)。

  返回结果如下:

  <?xml version="1.0" encoding="UTF-8"?>

  <response>

  <lst name="responseHeader"><int name="status">0</int><int name="QTime">1</int></lst><lst name="result"><str name="dicPath">java.net.URI:www.9ask.cn/xiamen/lelifeextra/solr/solrhome/dic/</str><bool name="changed">false</bool></lst>

  </response>

  注意:dicPath 参数是 MMSegTokenizerFactory 里指定的 dicPath 才有意义。
[发帖际遇]: 柠檬墨绿色 捡了钱没交公 威望 降了 3 . 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/11/19 17:36 , Processed in 0.127092 second(s), 23 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表