01-全文检索

01-全文检索

需要安装包,请留言,由于文件400多M,上传不了。

全文搜索

1.介绍

elasticsearch 6 (和elasticsearch 5 的区别在于,root用户权限、一个库只能建立一个表)

1.1 文本搜索引擎:

  • 优点:搜索快;
  • 缺点:占用空间。【典型的空间换时间的一种算法】

同类产品:Solr、ElasticSearch、Hermes(腾讯)(实时检索分析)

solr 、elasticSearch 底层依赖Lucene; elasticsearch 默认就是以集群方式工作的。solr需要依赖zk1.

1.2 elasticSearch(搜索引擎)的算法

倒排索引(在内容上建立索引,用内容匹配索引);

btree mysql数据库的索引方式。

b+tree 多路平衡书的晋级(elasticsearch)

内存结构:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html B+Tree

2.elasticsearch 单机安装

2.1 Centos7 +jdk 安装

  • 查看当前Linux系统是否已经安装java : 输入 rpm -qa | grep java
  • 卸载两个openJDK: 输入rpm -e –nodeps 要卸载的软件
  • 上传jdk到linux
  • 解压jdk到/usr/local下 tar –xvf jdk-7u71-linux-i586.tar.gz –C /usr/local
  • 配置jdk环境变量,打开/etc/profile配置文件,将下面配置拷贝进去
#set java environment
JAVA_HOME=/usr/local/jdk1.8.0_152
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
  • 重新加载/etc/profile配置文件 source /etc/profile

2.2 安装elasticsearch

2.2.1 创建目录、上传、解压

  • mkdir -p /opt/es //把安装包上传到 /opt/es目录下
  • tar – zxvf elasticsearch-6.3.1.tar.gz
  • 启动脚本 : ./elasticsearch 直接启动会报相关的错误

01-全文检索

2.2.2 修改相关配置

  • 权限问题: 需要改成其他非root用户才能启动:(1)创建用户: adduser es (2)切换用户: su es

01-全文检索

  • JVM内存问题

01-全文检索

需要修改/opt/es/elasticsearch-6.3.1/config/jvm.options jvm.options jvm配置文件

01-全文检索

需要用root用户授权: chmod 777 -R elasticsearch-6.3.1

01-全文检索

切换 到es用户上。去修改:

01-全文检索

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CkDTSWnQ-1590768375000)(https://note.youdao.com/yws/public/resource/d74ee22d5a1e1f76187ac11d73ab1c4b/xmlnote/9A6F7AA008894A99B9EF631C64757577/17807)]

建议配置2g~4g,学习测试环境配置256m 就可以了

  • elasticSearch.yml中配置es的host地址(配成本机地址,允许访问) elasticSearch.yml 集群配置文件

01-全文检索

01-全文检索

使用非root账户启动elasticsearch : ./elasticsearch 会报 默认线程数、最大文件数、最大内存数都不够

01-全文检索

  • 修改linux的limits配置文件,设置内存线程和最大文件数 。切换root用户 修改vi /etc/security/limits.conf

01-全文检索

01-全文检索

  • 修改linux的sysctl配置文件,配置系统使用内存

01-全文检索

vi sysctl.conf

01-全文检索

01-全文检索

切换es用户启动elasticsearch

elasticSearch.yml es的启动host地址
jvm.options配置es的虚拟机内存
limits.conf配置linux的线程内存和文件
sysctl.conf配置系统允许的软件运行内存
systemctl stop firewalld.service            #停止firewall
systemctl disable firewalld.service        #禁止firewall开机启动

# 开启80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下
直接关闭防火墙
systemctl stop firewalld.service          #停止firewall
systemctl disable firewalld.service    #禁止firewall开机启动

设置 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables 
增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

3.elasticsearch交互

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100749.html原文链接:https://javaforall.net

(0)
上一篇 2021年7月12日 上午11:00
下一篇 2021年7月12日 下午12:00


相关推荐

  • matlab写实对角矩阵,Matlab对角矩阵

    matlab写实对角矩阵,Matlab对角矩阵1 正对角 gt gt v v gt gt diag v ans 00000

    2026年3月17日
    2
  • SignalR实时聊天

    SignalR实时聊天1 创建 Web 项目 选择 Web 应用程序 以创建使用 RazorPages 的项目 然后选择 创建 2 添加 SignalR 客户端库 SignalR 服务器库包含在 ASP NETCore3 0 共享框架中 JavaScript 客户端库不会自动包含在项目中 对于此教程 使用库管理器 LibMan 从 unpkg 获取客户端库 unpkg 是一个内容分发网络 CDN 可分发在 npm 即 Node js 包管理器 中找到的任何内容 在 解决方案资源管理器 中 右键

    2026年3月26日
    2
  • linux查看80端口占用情况_linux查看已使用端口

    linux查看80端口占用情况_linux查看已使用端口前言平常使用linux,我们经常需要查看哪个服务占用了哪个端口,接下来就为大家介绍了2种Linux查看端口占用情况可以使用lsof和netstat命令。1.lsof-i:端口号用

    2022年7月28日
    5
  • 数据库的简介与类型

    数据库的简介与类型数据库的简介与类型

    2022年4月22日
    39
  • 浅谈UML的概念和模型之UML九种图

    浅谈UML的概念和模型之UML九种图

    2021年12月2日
    42
  • 在win10自带的mail中如何设置学校邮箱

    在win10自带的mail中如何设置学校邮箱最近突然有项目缘故需要用到学校(所内)邮箱,然而该邮箱不常用,费了好长时间找回密码,好不容易找到密码就想为了信息接受的及时添加到win10的mail里吧,结果发现怎么添加都添加不上,最后得以解决,虽然是个很小的事,但是记录一下过程吧。首先要在添加账户选择高级设置,然后选择Internet电子邮件设置。之后进入里面配置,配置的信息在你想要绑定的邮箱首页的帮助里都可以找到,比如中国科学院的邮件…

    2022年7月25日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号