1.不分词的模糊搜索:建MAPPING的时候将字段设置成keywork,然后使用must + wildcardQuery搜索。
搜索的时候要需要在参数的两边加上通配符"*",就像这样:QueryBuilders.wildcardQuery("name", "*" + paramName + "*");
2.es7.3.2安装
A>下载elasticsearch-7.3.2-linux-x86_64.tar.gz
B> tar -zxvf elasticsearch-7.3.2-linux-x86_64.tar.gz 得到 elasticsearch-7.3.2目录,将目录移动到你任意喜欢的目录
C>因为是7.X版本自带了x-pack功能,因此可以非常方便的解决证书问题,老版本的ES需要额外再安装证书
D>vim config/elasticsearch.yml加入如下配置:
path.data: data
path.logs: logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
cluster.initial_master_nodes: ["node-1"]
xpack.security.enabled: true
E> 进入到bean目录执行./elasticsearch-certutil.bat ca -out config/elastic-certificates.p12 -pass ""
这时会在confg目录下生成elastic-certificates.p12文件
F>vim config/elasticsearch.yml在文件尾部加入以下配置:
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
xpack.security.transport.ssl.enabled: true
http.cors.enabled: true
http.cors.allow-origin: "*"
这时,完整的配置文件看起来是这样的:
G>在/etc/security/limits.conf 文件的末尾加入以下内容:
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
H>却换到ROOT用户执行以下命令
sysctl -w vm.max_map_count=262144
将/etc/sysctl.conf 文件内的 vm.max_map_count 后面的值改成262144
I>去到bin目录执行./elasticsearch 命令启动服务 ,使用后台启动 ./elasticsearch -d
J>修改用户的密码,在确保服务正常启动之后来到bin目录执行
elasticsearch-setup-passwords interactive 然后挨个设置各个用户的密码
K> 后台运行之后使用 curl http://127.0.0.1:9200 -u elastic:password 验证是否可访问 elastic 是ES的默认用户
L>使用root用户放开对应端口 并在内网的其他机器使用 curl http://ip:port -u elastic:passwod 验证