Python项目中、数据库中,怎么解决数据搜索的问题?
数据库中有大量的文字内容,千万不要使用like + %关键词% 搜索!!!
Elasticsearch是一个基于Lucene的分布式搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。 Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
1、集群架构: centos7
主机名 IP地址 角色 node1 192.168.17.6 主节点 node2 192.168.17.7 从节点
2、修改linux的系统配置
修改操作系统级别对每个用户创建的进程数的限制,还要修改:每个进程可以打开的文件数的限制
# /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
修改 :限制一个进程可以拥有的VMA(虚拟内存区域)的数量
# /etc/sysctl.conf
vm.max_map_count=262144
# 查看
sysctl -p
3、下载和解压
下载地址: https://www.elastic.co/cn/downloads/elasticsearch https://www.elastic.co/cn/downloads/kibana
tar -zxvf elasticsearch-7.10.2-linux-x86_64.tar.gz
4、创建用户
🔥因为elasticsearch不能使用root用户启动,创建用户,将elasticsearch目录权限转移给新建用户。每台机器都要创建用户。
useradd kb chown -R kobe:kb elasticsearch-7.10.2
🔥🔥🔥5、配置elasticsearch.yml
🔥注意
集群名字必须相同 节点名字不能相同。
集群名字
cluster.name: mykb-es
节点名字
node.name: node1
数据存放目录
path.data: /home/elasticsearch-7.10.2/data
存放日志
path.logs: /home/elasticsearch-7.10.2/logs
bootstrap.memory_lock: true
绑定到本机的所有ip地址上
network.host: 0.0.0.0
端口
http.port: 9200
指定集群都有那些节点
discovery.seed_hosts: ["192.168.17.6", "192.168.17.7"]
master指定在那些机器上
cluster.initial_master_nodes: ["node1", "node2"]
gateway.recover_after_nodes: 2
注意三台服务器上的node.name不能一样。
使用elasticsearch自带的JDK服务
系统上安装的JDK与elasticsearch-7.10.2版本不匹配,需要使用elasticsearch-7.10.2自带的JDK服务,修改elasticsearch-7.10.2脚本即可。
vi /home/elasticsearch-7.10.2/bin/elasticsearch
export JAVA_HOME=/home/elasticsearch-7.10.0/jdk export PATH=$PATH:$JAVA_HOME/bin
6、拷贝整个ES目录到另外两台机器
scp -r /home/elasticsearch-7.10.2 root@node2:`pwd`
7、启动集群
注:若生产环境没有关闭防火墙,则需要放行9200和9300端口,9200为对外访问端口,9300为集群内部通信端口。
🔥bin/elasticsearch -d 在后台启动 。
🔥🔥🔥8、配置Kibana
下载并解压安装包
tar -zxvf kibana-7.10.2-linux-x86_64.tar.gz mv kibana-7.10.2-linux-x86_64 /home/kibana-7.10.2
配置以下内容
cd /home/kibana-7.10.2/config
vim kibana.yml
🔥kibana不能作为root用户运行。
授权: chown -R kb:kb kibana-7.10.2/
🔥启动 bin/kibana/。
|