接上文:https://www.cnblogs.com/liuyong18/p/12158470.html 上文中我们了解到,词表对特定query的效果影响比较大,也是解决badcase的手段之一。
然后系统提供的通用词表和扩展词表的每次改动都需要对ES进行重启,在web系统中,这是不允许的,因此我们需要搭建一个可以不需要重启ES的动态词表,每次只需要更新远程词表的位置就可以了。
在IKAnalyzer.cfg.xml中,我们看到系统是支持远程词典的:
然后,我们就按照这个策略配置一个试试:
在服务器下,创建了一个php文件
http://10.145.XX.XX:8281/iamstilllive121.php 通过这个文件可以直接加载出词典内容来;
然后配置到“ext_stopwords”中:
iamstilllive121.php 的内容为:
查看 es-ik 插件的源码可以发现:
1min词表会同步一次
所以必须保证下面两个值中至少一个发生了变化,最简单的就跟我上面一样整个时间戳就可以了。
有了这个,以后就可以人为控制切词结果了,没必要切的太细的也可以指定组合之后的结果就不再切分了。完美!!!!