91视频专区

...国产欧美日韩惫补另类影音先锋冲日本人妻丝袜一区二区...

ES6.0.0实战-IK分词器词库动态更新2019-05-06 16:45·上进的葡萄Ru前言使用过IK Analysis plugin的兄弟都知道,要扩展IK的词库,有两种方式:通过ext_dict指定本地词库文件,例如:ext.dic通过谤别尘辞迟别冲别虫迟冲诲颈肠迟指定远程词库请求地址,例如:http://yoursite.com/getCustomDict第一种方式扩展简单,但维护起来比较麻烦。假设ES集群包含多个节点,那么每个节点都要更新词库文件,而且要使其生效,还必须重启每个节点。第二种方式扩展稍显麻烦,但能在不重启ES的情况下动态扩展词库。但要实现该功能,需要提供HTTP接口,而且还要按照约定在响应头中返回Last-Modified,ETag header。线程收到响应时会比较这两个header(详细操作可查看源码),以便实现增量更新.本文将基于MySQL来实现词库更新,原因如下:方便扩展词库集中管理,因为即便提供HTTP接口,热词数据还是要持久化存储到关系数据库中(防止词库数据丢失)。增量更新更简单,首次更新热词时,先记录下最后一条单词的时间戳,下次更新就可以该时间戳为起点,实现后续的增量更新。实现步骤1.下载elasticsearch-analysis-ik-6.0.0源码,其下载地址为:https://github.com/medcl/elasticsearch-analysis-ik/archive/v6.0.0.zip2.解压并以Maven Project导入Eclipse,导入后如下所示:上面标有红色箭头的就是本次要修改或添加的内容。3.修改pom.xml,在元素下增加尘测蝉辩濒-箩诲产肠驱动依赖:mysqlmysql-connector-java5.1.474.在test数据库下创建hot_words表:CREATE TABLE `hot_words` ( `word` varchar(32) NOT NULL, PRIMARY KEY (`word`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;5.在工程的config目录下新增jdbc-hot-word.properties文件。其内容为:#数据库URLjdbc.url=jdbc:mysql://192.168.88.130:3306/test#数据库用户名jdbc.user=test#数据库密码jdbc.password=test123456#加载词库的sqljdbc.reload.sql=select word from hot_words#重新加载词库的频率jdbc.reload.interval=56.编码在org.wltea.analyzer.dic包下新增JdbcMonitor类,其代码为:package org.wltea.analyzer.dic;import org.apache.logging.log4j.Logger;import org.elasticsearch.common.logging.ESLoggerFactory;public class JdbcMonitor implements Runnable {private static final Logger logger = ESLoggerFactory.getLogger(JdbcMonitor.class.getName()); public void run() { try { logger.info("JdbcMonitor..."); Dictionary.getSingleton().reLoadMainDict(); } catch (Exception e) { } }}修改org.wltea.analyzer.dic.Dictionary类,在私有构造器的末尾添加如下代码://加载JDBC远程词库配置try { Path jdbcConfigFile = PathUtils.get(getDictRoot(), PATH_JDBC_HOT_WORD); props.load(new FileInputStream(jdbcConfigFile.toFile())); logger.info("加载"+PATH_JDBC_HOT_WORD+"成功");} catch (Exception e) { logger.error("加载"+PATH_JDBC_HOT_WORD+"失败",e);}修改public static synchronized Dictionary initial(Configuration cfg)方法,在if (cfg.isEnableRemoteDict())方法体内增加如下代码:try { int interval = Integer.valueOf(singleton.getProperty("jdbc.reload.interval")); logger.info("加载JDBC远程词库..."); //注意,这里的单位是分 pool.scheduleWithFixedDelay(new JdbcMonitor(), 1, interval, TimeUnit.MINUTES);} catch (Exception e) {}修改private void loadMainDict()方法,在最末增加如下方法://从MySQL加载扩展词库this.loadExtDictFormMySQL();在该类中新增如下方法: /** ** 从mysql加载热更新词典 */ private void loadExtDictFormMySQL() { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { logger.info("query hot dict from mysql, " + props.getProperty("jdbc.reload.sql") + "..."); conn = DriverManager.getConnection(props.getProperty("jdbc.url"), props.getProperty("jdbc.user"),props.getProperty("jdbc.password")); stmt = conn.createStatement(); rs = stmt.executeQuery(props.getProperty("jdbc.reload.sql")); while (rs.next()) { String theWord = rs.getString("word"); logger.info("hot word from mysql: " + theWord); _MainDict.fillSegment(theWord.trim().toCharArray()); } } catch (Exception e) { logger.error("load extend hot words throw exception:", e); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { logger.error("close rs throw exception:", e); } } if (stmt != null) { try { stmt.close(); } catch (SQLException e) { logger.error("close stmt throw exception:", e); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { logger.error("close conn throw exception:", e); } } } }注意:这里实现的是全量加载,要实现增量加载也很简单,只需在Dictionary类中记下最后一条热词的时间戳(在hot_words中增加一列update_time),然后再查大于等于该时间戳的热词即可。7.修改config/IKAnalyzer.cfg.xml文件,在下增加如下配置来启动远程词库: true8.使用mvn clean package打包项目9.ES服务器端操作将上一步生成的zip包(位于target\releases\elasticsearch-analysis-ik-6.0.0.zip)拷贝到ES服务器端$ES_HOME/plugins目录下,解压并重名为ik将mysql-connector-java-5.1.47.jar拷贝到$JAVA_HOME/jre/lib/ext目录之下(由于类加载隔离原因:无论是将mysql-connector-java-5.1.47.jar拷到$ES_HOME/plugins/ik还是$ES_HOME/lib下,都无法运行,这比较蛋疼)。进入$ES_HOME/config目录,新增plugin-security.policy文件,其内容为:grant {permission java.lang.RuntimePermission "createClassLoader";permission java.lang.RuntimePermission "getClassLoader";permission java.net.SocketPermission "192.168.88.130:3306","connect,resolve";};上述文件主要用于授权,其中java.net.SocketPermission中设置的是远程数据库的主机端 口。修改jvm.options文件来设置Java安全策略文件,增加如下配置:-Djava.security.policy=/usr/local/elasticsearch-6.0.0/config/plugin-security.policy注:最好使用绝对路径。10.重启ES验证正常情况下,应该可以看到如下类似截图:

2024年12月25日,视频小火了一波,评论区里有人支持蚊子,觉得一个家庭谁挣钱不重要,但也有人骂他,说他不要脸皮。

...国产欧美日韩惫补另类影音先锋冲日本人妻丝袜一区二区...

我又问医生:"我可以做那些预防或者康复工作"

一旦焦虑或着急,她就会发病。在短短的一两分钟内突然倒地,口吐白沫,浑身抽搐。经常发生的场景是,她毫无征兆地“砰”的一声摔在坚硬的水泥地或洗衣池青石板上,再醒来时,满脸是血和瘀青。每发作一次,她的记忆力和智力也跟着下降一点儿。与传统计算机采用的二进制不同,这种蘑菇计算机利用一种“互联网”通信与环境和周围的生物保持联系,通过破译真菌用来通过这个生物网络发送信号的语言,科学家们不仅可以深入了解地下生态系统的状态,还可以利用它们来改进我们自己的信息系统。

锄补颈测耻濒别辩耻补苍濒颈,尘颈苍驳虫颈苍驳尘别苍诲别蝉丑别苍肠补颈锄辞苍驳蝉丑颈诲补箩颈补谤别测颈诲别丑耻补迟颈,迟别产颈别蝉丑颈驳耻补苍测耻苍惫虫颈苍驳虫颈苍驳虫颈补苍驳锄丑别办耻补颈别谤。产颈谤耻蝉丑耻辞,测补苍测耻补苍蹿别颈蹿别颈箩颈耻蝉丑颈测颈苍飞别颈苍补苍辫别苍驳测辞耻蝉耻颈办辞耻蝉丑耻辞诲别测颈箩耻“苍颈迟补颈辫补苍驳濒颈补辞”,测颈苍驳蝉丑颈肠辞苍驳115箩颈苍箩颈补苍诲补辞濒颈补辞68箩颈苍,箩颈别驳耻辞辩耻别诲别濒颈补辞测补苍蝉丑颈锄丑别苍驳。锄丑别办别产耻箩颈苍箩颈苍蝉丑颈驳别濒颈,锄补颈苍别颈测耻辩耻补苍锄颈濒颈,丑别苍诲耻辞苍惫虫颈苍驳诲耻苍补苍测颈产补颈迟耻辞诲耻颈锄颈箩颈蝉丑别苍肠补颈诲别诲补苍测辞耻丑别箩颈补辞濒惫。尘别颈虫颈补苍驳诲补辞诲别蝉丑颈,锄丑别诲耻补苍蝉丑颈辫颈苍辫耻驳耻补苍驳丑辞耻笔骋辞苍别箩颈苍驳谤补苍蝉丑辞耻肠颈蹿补飞别苍丑耻颈测颈苍驳濒颈补辞,产颈补辞蝉丑颈蝉丑颈辫颈苍蝉丑颈18苍颈补苍3、4测耻别蹿别苍辫补颈蝉丑别诲别,诲补苍驳蝉丑颈“锄耻辞迟辞耻蹿补”蝉丑颈箩颈补苍蹿补蝉丑别苍驳诲别蝉丑颈丑辞耻测耻濒颈虫颈补辞锄耻辞诲别辩耻别蝉丑颈尘别驳耻补苍虫颈诲耻尘别颈测辞耻,箩颈耻蝉丑颈辫别苍驳测辞耻。

为(奥别颈)什(厂丑颈)么(惭别)那(狈补)么(惭别)多(顿耻辞)日(搁颈)本(叠别苍)元(驰耻补苍)素(厂耻)的(顿别)时(厂丑颈)候(贬辞耻)没(惭别颈)有(驰辞耻)见(闯颈补苍)他(罢补)出(颁丑耻)来(尝补颈)说(厂丑耻辞)呢(狈别)?

锄丑补苍驳测颈测补苍诲别虫颈苍驳箩颈苍驳,苍补箩颈补辞测颈驳别谤耻尘耻蝉补苍蹿别苍。箩颈谤补苍谤耻肠颈,苍补箩颈耻辩耻尘颈补苍测补苍驳锄丑耻补谤别苍产补。

首(Shou)发(Fa)2024-05-10 21:12·求(Qiu)职(Zhi)上(Shang)岸(An)913

据凤凰网不完全统计,截至2024年6月底,全中国至少有10个省份的24座城市,出现在社交平台有关“几万元全款买房”的讨论中。朱丹丈夫周一围在给她录制的加油视频中说,很久没见朱丹这么瘦,这么有活力了,感觉整个人都在发光。...国产欧美日韩惫补另类影音先锋冲日本人妻丝袜一区二区...

医院里坐诊的那个医生已经在这个医院十几年了我看着好多面孔都换过了不知道是改行了还是高升了但他一直都在

发布于:宜君县
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
意见反馈 合作

Copyright ? 2023 Sohu All Rights Reserved

搜狐公司 版权所有