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


相关推荐

  • linux内核编程接口小结(一)

    linux内核编程接口小结(一)1、下面两幅图描述了linux内核编程接口函数

    2022年10月8日
    7
  • mysql数据库主从复制原理_数据库主从一致性验证

    mysql数据库主从复制原理_数据库主从一致性验证文章目录前言一、MySQL主从复制1.支持的复制类型2.主从复制的工作过程是基于日志3.请求方式4.主从复制的原理5.MySQL集群和主从复制分别适合在什么场景下使用6.为什么使用主从复制、读写分离7.用途及条件8.mysql主从复制存在的问题9.MySQL主从复制延迟二、主从复制的形式三、读写分离1.原理2.为什么要读写分离呢?3.什么时候要读写分离?4.主从复制与读写分离5.目前较为常见的MySQL读写分离分为以下两种①基于程序代码内部实现②基于中间代理层实现四、案例实施1.案例环境2.实验思路(解决需

    2022年8月13日
    9
  • centos7安装python3.6_centos python3安装

    centos7安装python3.6_centos python3安装Centos7下安装Python3的方法由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到。[root@VM_105_217_centosPython-3.6.2]#pythonPython2.7.5(default,Aug42017,00:39:18)[GCC4.8.520150623(RedHat4.8.5-16)]onlinux2Type”help”,”copyrig…

    2026年3月6日
    4
  • java学习——Java 动态代理机制分析

    越学越觉得自己不懂的越多!java的动态代理学习资料整理:Java 动态代理机制分析及扩展,第 1 部分: https://www.ibm.com/developerworks/cn/java/j-lo-proxy1/Java 动态代理作用是什么? https://www.zhihu.com/question/20794107Java动态代理机制详解(JDK 和CGLIB,Javassist,A

    2022年2月26日
    39
  • USB协议基础篇

    USB协议基础篇初次接触USB的同学,可能会被里面各种名词给搞晕,下面就来梳理一下这些知识,希望能帮助大家理解USB。文章目录 一,从最常见的名词说起 1.1什么是USB 1.2USB协议版本 1.3USB接口分类 1.4PIPE 1.5endpoint 1.6管道通信方式 1.7传输方式 1.7逻辑设备 1.8interface 1.9class协议 1.10host/device 二,USB框架/拓扑结构

    2022年6月18日
    45
  • JVM运行原理详解

    JVM运行原理详解1 JVM 简析 作为一名 Java 使用者 掌握 JVM 的体系结构也是很有必要的 说起 Java 我们首先想到的是 Java 编程语言 然而事实上 Java 是一种技术 它由四方面组成 Java 编程语言 Java 类文件格式 Java 虚拟机和 Java 应用程序接口 JavaAPI 它们的关系如下图所示 运行期环境代表着 Java 平台 开发人员编写 Ja

    2026年3月18日
    1

发表回复

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

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