快捷搜索:  汽车  科技

大家称赞的日志分析工具:别只会搜日志了 求你懂点原理吧

大家称赞的日志分析工具:别只会搜日志了 求你懂点原理吧docker run -p 80:80 --name nginx -d nginx:1.10 拷贝 nginx 容器的配置文件到 mydata 目录的 conf 文件夹cd /mydata docker container cp nginx:/etc/nginx ./conf mydata 目录 里面创建 nginx 目录mkdir nginx 移动 conf 文件夹到 nginx 映射文件夹mv conf nginx/ 终止并删除原 nginx 容器docker stop nginx docker rm <容器 id> 启动新的容器docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -v /

6.5 自定义分词词库6.5.1 自定义词库的方案
  • 方案

新建一个词库文件,然后在 ik 分词器的配置文件中指定分词词库文件的路径。可以指定本地路径,也可以指定远程服务器文件路径。这里我们使用远程服务器文件的方案,因为这种方案可以支持热更新 ( 更新服务器文件,ik 分词词库也会重新加载 ) 。

  • 修改配置文件

ik 分词器的配置文件在容器中的路径:

/usr/share/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml。

修改这个文件可以通过修改映射文件,文件路径:

/mydata/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml

编辑配置文件:

vim /mydata/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml

配置文件内容如下所示:

<?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">custom/mydict.dic;custom/single_word_low_freq.dic</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords">custom/ext_stopword.dic</entry> <!--用户可以在这里配置远程扩展字典 --> <entry key="remote_ext_dict">location</entry> <!--用户可以在这里配置远程扩展停止词字典--> <entry key="remote_ext_stopwords">http://xxx.com/xxx.dic</entry> </properties>

修改配置 remote_ext_dict 的属性值,指定一个 远程网站文件的路径,比如 http://www.xxx.com/ikwords.text。

这里我们可以自己搭建一套 nginx 环境,然后把 ikwords.text 放到 nginx 根目录。

6.5.2 搭建 nginx 环境

方案:首先获取 nginx 镜像,然后启动一个 nginx 容器,然后将 nginx 的配置文件拷贝到根目录,再删除原 nginx 容器,再用映射文件夹的方式来重新启动 nginx 容器。

  • 通过 docker 容器安装 nginx 环境。

docker run -p 80:80 --name nginx -d nginx:1.10

  • 拷贝 nginx 容器的配置文件到 mydata 目录的 conf 文件夹

cd /mydata docker container cp nginx:/etc/nginx ./conf

  • mydata 目录 里面创建 nginx 目录

mkdir nginx

  • 移动 conf 文件夹到 nginx 映射文件夹

mv conf nginx/

  • 终止并删除原 nginx 容器

docker stop nginx docker rm <容器 id>

  • 启动新的容器

docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -v /mydata/nginx/conf:/etc/nginx \ -d nginx:1.10

  • 访问 nginx 服务

192.168.56.10

报 403 Forbidden nginx/1.10.3 则表示 nginx 服务正常启动。403 异常的原因是 nginx 服务下没有文件。

  • nginx 目录新建一个 html 文件

cd /mydata/nginx/html vim index.html hello passjava

  • 再次访问 nginx 服务

浏览器打印 hello passjava。说明访问 nginx 服务的页面没有问题。

  • 创建 ik 分词词库文件

cd /mydata/nginx/html mkdir ik cd ik vim ik.txt

填写 悟空哥,并保存文件。

  • 访问词库文件

http://192.168.56.10/ik/ik.txt

浏览器会输出一串乱码,可以先忽略乱码问题。说明词库文件可以访问到。

  • 修改 ik 分词器配置

cd /mydata/elasticsearch/plugins/ik/config vim IKAnalyzer.cfg.xml

大家称赞的日志分析工具:别只会搜日志了 求你懂点原理吧(1)

  • 重启 elasticsearch 容器并设置每次重启机器后都启动 elasticsearch 容器。

docker restart elasticsearch docker update elasticsearch --restart=always

  • 再次查询分词结果

可以看到 悟空哥聊架构 被拆分为 悟空哥、聊、架构 三个词语,说明自定义词库中的 悟空哥 有作用。

大家称赞的日志分析工具:别只会搜日志了 求你懂点原理吧(2)

猜您喜欢: