「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战」。
Elasticsearch优势
- 模糊搜索的速度很快: 写入数据到Elasticsearch的时候会进行分词。
- 搜索到的数据可以根据评分来排序,过滤掉大部分内容。
- 能匹配有相关性记录,没有那么准确的关键字也能搜出相关的结果。
ElasticSearch VS Solr
- Solr是第一个基于Lucene核心库功能完备的搜索引擎产品,诞生早于Elasticsearch,早期在全文搜索领域,Solr有非常大的优势,在近几年大数据发展时代,Elastic由于其分布式特性,满足了很多PB级大数据的处理需求,特别是后面ELK三大组合的流行,Solr使用量逐渐下跌;
- ElasticSearch和Solr均起源于Lucene,Lucene是基于Java语言开发的搜索引擎库类(jar包)创建于1999年,2005年成为Apache顶级开源项目,Lucene具有高性能、但易扩展有局限性,只能单机环境,而且只能基于Java语言开发,其他php、python等不能使用;
- 类库的接口学习曲线陡峭,原生并不支持水平扩展;
- 自己开发一个完整的搜索引擎工作量比较大,必须要懂一些搜索引擎原理的人才能用好,所以后来elasticsearch基于lucene进行封装,支持分布式,可水平扩展,降低全文检索的学习曲线,基于http restful api可以被任何编程语言调用;
倒排索引(反向索引)
全文检索:底层是倒排索引;
Elasticsearch 运行环境
下载 www.elastic.co/cn/download…
解压缩
tar -xvf elasticsearch-7.6.2-linux-x86_64.tar.gz
将目录重命名
mv 解压后的文件名 elasticsearch
#配置自己的jdk13
export JAVA_HOME=/usr/local/elasticsearch-7.6.2/jdk
export PATH=$JAVA_HOME/bin:$PATH
#添加jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="/usr/local/elasticsearch-7.6.2/jdk/bin/java"
else
JAVA=`which java`
fi
改变所有文件拥有者
chown centos:centos -R /usr/local/elasticsearch
进入config文件夹开始配置
编辑jvm.options:
vim jvm.options
默认配置如下:
-Xms1g
-Xmx1g
内存占用太多了,调小一些:
-Xms512m
-Xmx512m