基于ES的全文检索
<p>基于ES的全文检索</p>
<h1>1.安装ES</h1>
<h3>1. 上传es安装包,并解压至指定目录(文档以/risen/soft/es为例)</h3>
<p>解压ik分词器至名为ik的文件夹,并移动至es家目录下的plugins中
解压命令:unzip elasticsearch-analysis-ik-5.4.3.zip -d ik,将解压的后的ik文件夹,移动至plugins
将新的jna.jar替换掉家目录下lib中的jna4.4.0.jar
编辑elasticsearch.yml文件
添加如下语句(注意修改ip等信息。添加后注意创建数据目录和日志目录):</p>
<p>配置集群名称
cluster.name: RisenES
配置节点名称
node.name: node-1
配置数据目录
path.data: /risen/soft/es/data
配置日志目录
path.logs: /risen/soft/es/logs
配置ip地址
network.host: 172.18.67.161
配置http访问端口
http.port: 9200
是否支持跨域
http.cors.enabled: true
表示支持所有域名
http.cors.allow-origin: "*"
解决银河麒麟seccomp unavailable错误
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
设置允许script运行
script.engine.groovy.inline.aggs: on
script.engine.groovy.inline.search: on</p>
<h3>2. 编辑limits.conf配置文件</h3>
<p>vim /etc/security/limits.conf添加以下内容:</p>
<ul>
<li>soft nofile 65536 </li>
<li>hard nofile 131072 </li>
<li>soft nproc 2048 </li>
<li>hard nproc 4096</li>
</ul>
<p>保存退出重新登录用户后生效
临时生效:ulimit -n 65536</p>
<h3>3.修改配置文件sysctl.conf</h3>
<p>vi /etc/sysctl.conf添加下面配置
vm.max_map_count=655360
保存退出,执行sysctl -p立即生效</p>
<h3>4.添加bigdata用户,并将es相关目录赋权给bigdata</h3>
<p>添加用户
useradd bigdata</p>
<p>修改权限
chown -R bigdata.bigdata /risen/soft/es</p>
<h3>5.配置elasticsearch,安装ingest-attachment,并启动</h3>
<p>在bin目录启动文件elasticsearch内添加JAVA_HOME变量(如已有JAVA_HOME变量,则跳过)
vim /risen/soft/es/bin/elasticsearch
<img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/99bf6edc155d2e898d001ca0cdcfa9b0" alt="" /></p>
<p>切换bigdata用户
su - bigdata</p>
<p>进入bin目录执行
./elasticsearch-plugin install file:///risen/soft/es/ingest-attachment-5.4.3.zip
安装ingest-attachment,回显如下图</p>
<p>启动es
./elasticsearch</p>
<h3>6.注册es为服务</h3>
<p>编辑es服务文件
vim /lib/systemd/system/elasticsearch.service</p>
<p>添加如下内容(注意elasticsearch目录及启动命令参数):</p>
<p>[Unit]
Description=elasticsearch service
After=network.target</p>
<p>[Service]
Type=idle
User=bigdata
LimitNOFILE=65536
ExecStart=/risen/soft/es/bin/elasticsearch
ExecReload=/bin/kill -1 $MAINPID
ExecStop=/bin/kill -9 $MAINPID
PrivateTmp=true</p>
<p>[Install]
WantedBy=multi-user.target</p>
<p>停止es服务
systemctl stop elasticsearch
启动es服务
systemctl start elasticsearch
查看es服务状态
systemctl status elasticsearch
重启es服务
systemctl restart elasticsearch
设置开机自启
systemctl enable elasticsearch</p>
<h1>2.运行全文检索包</h1>
<p>使用tomcat部署</p>
<p>全文检索是个war包,修改war包配置</p>
<p>第一个配置文件
webapps/fts/WEB-INF/classes/com/risen/base/config/connection.properties
<img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/c75391b565bf874a8c422300216a9fff" alt="" />
es端口默认是9200
<img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/998fdea9fc0d838ded18a817e5355c91" alt="" /></p>
<p>第二个配置文件
webapps/fts/WEB-INF/classes/com/risen/base/config/quartz.properties
<img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/60920d301d9d5780cabdfef959ca3c4f" alt="" />
也是OA地址
<img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/0bd37456976aceafe2382014a3b6f43d" alt="" /></p>
<p>修改配置后重启项目,访问全文检索
<img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/4c91e919f7546eb366c251dd64912073" alt="" /></p>
<p>登录
<img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/90c21d12d3f41bfb2c46d509c15ba6da" alt="" /></p>