美文网首页
Elasticsearch ik分词热更新

Elasticsearch ik分词热更新

作者: 程序员大春 | 来源:发表于2021-01-14 13:18 被阅读0次

找到IK分词器配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 -->
        <entry key="ext_dict"></entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords"></entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <!-- <entry key="remote_ext_dict">words_location</entry> -->
        <!--用户可以在这里配置远程扩展停止词字典-->
        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
~                

remote_ext_dict

远程关键词配置
可读取url远程数据

我们需要配置一个http服务

  • 简单用node.js写一个http服务

创建一个app.js

var http = require("http");
var fs = require("fs");
var url = require("url");
// 创建服务器
http
  .createServer(function (request, response) {
    var etag = Math.round(new Date() / 1000);
    var Modified = new Date().toGMTString();
    // 解析请求,包括文件名
    var pathname = url.parse(request.url).pathname;
    // 输出请求的文件名
    console.log("Request for " + pathname + " received.");
    // 从文件系统中读取请求的文件内容
    fs.readFile(pathname.substr(1), function (err, data) {
      if (err) {
        console.log(err);
        response.writeHead(404, { "Content-Type": "text/html" });
      } else {
        response.writeHead(200, { "Last-Modified": Modified, ETag: etag });
        response.write(data.toString());
      }
      response.end();
    });
  })
  .listen(3002);
  • 将*.dic文件放到同目录下

  • 启动服务

node app.js

修改IK配置

      <!-- <entry key="remote_ext_dict">words_location</entry> -->

改为

      <entry key="remote_ext_dict">http://127.0.0.1:3002/my.dic</entry>

重启ES

检查关键词是否生效

curl -XPOST http://localhost:9200//news/_analyze -H 'Content-Type:application/json' -d'
{
    "analyzer":"ik_smart",
    "text":"广州车展"
}'

历史数据生效需要UPDATE一下

curl -XPOST http://localhost:9200/news/_update_by_query -H 'Content-Type:application/json' -d'
{
    "conflicts":"proceed"
}'

完成

相关文章

网友评论

      本文标题:Elasticsearch ik分词热更新

      本文链接:https://www.haomeiwen.com/subject/jfzmaktx.html