es 加固 search-guard + IK分词 + 在线搜索 梳理和总结

4 篇文章 0 订阅
4 篇文章 0 订阅

测试环境部署:

es版本2.4.6

安装:https://blog.csdn.net/qq_27717921/article/details/90140012

遇到的坑:1、不能root运行;2、当es data 所在的磁盘存储空间使用超过80%,es自动转为只读模式。

解决办法:1、把es涉及到的路径最好设置成 chmod -R  777  /es相关文件;2、这种情况最好在es安装之初就指定一个空间大剩余空间多的磁盘存储data

search-guard加固

配置:https://blog.51cto.com/chenhao6/2113873

遇到的坑:

4.验证节点
4.1初始化安全
cd /usr/share/elasticsearch/
./plugins/search-guard-2/tools/sgadmin.sh  \
-cd plugins/search-guard-2/sgconfig/ \
-ks config/node-1-keystore.jks \
-ts config/truststore.jks  \
-kspass elastic \
-tspass elastic \
-cn elasticsearch \ ####这个地方要换成自己es的名字
-h 192.168.2.142 \  ####换成自己es所在ip地址
-nhnv
2.5复制到config里面
#cd /usr/share/elasticsearch/search-guard-ssl-2.4.6/example-pki-scripts
#cp truststore.jks node-1-keystore.jks /usr/share/elasticsearch/config/
#cp truststore.jks node-1-keystore.jks  /etc/elasticsearch/
#cp truststore.jks admin-keystore.jks /usr/share/elasticsearch/plugins/search-guard-2/sgconfig/

IK分词

安装:https://www.jianshu.com/p/7994bb526dae

/usr/share/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml #用来定义自定义词库
/usr/share/elasticsearch/plugins/ik/config/main.dic #ik原生内置的中文词库
quantifier.dic #单位名称
suffix.dic #单位后缀名
surname.dic #姓氏
stopword.dic  #英文停用词,分词的时候不会建立到倒排索引中

自定义词库:
/usr/share/elasticsearch/plugins/ik/config/custom/mydict.dic. #添加自己的词语然后重启es生效
IKAnalyzer.cfg.xml:<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic</entry>
自定义停用词库:
比如:了,的,啥,咋,咳 ,等
IKAnalyzer.cfg.xml:<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">custom/ext_stopword.dic</entry>#添加自己的词语然后重启es生效

这种添加方案费时费力还需要重启es,有没有更好的方案呢??

如何es不停机的情况下,直接在外部某个地方添加新的词语,热更新到es中??

两种方案:
1、修改ik分词器源码,然后支持手动从mysql中每隔一段时间,自动更新的新的词语。 ##业界使用较多。修改方法https://www.bilibili.com/video/av75423048?p=32
2、基于ik分词器原生的热更新方案,部署以个web服务器提供一个http接口通过modified和tag两个http相应头来提供热更新。  ##官方社区说不稳定

在线搜索

遇到的坑:在建立index之前要设计好mapping和setting,需要IK分析的fields,设置成:

"analyzer":"ik_max_word",
"search_analyzer":"ik_max_word"

这样可以保证建索引时和搜索时都是同样的设置,结果可控。

建索引时的字段一定要和搜索时字段保持高度一致,如果不一致,首先查看线上环境用了哪些字段和setting:

curl -u users:password -XGET IP地址/index/_mapping

然后逆向分析重建index 。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值