ES(ElasticSearch)和Solr的初识

ES(ElasticSearch)和Solr的初识,第1张

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

(1)Lucene只是一个库。要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,另外,Lucene非常复杂,需要深入了解检索的相关知识来理解它是如何工作的。

(2)Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

(1)检索相关数据;

(2)返回统计结果;

(3)速度要快。

当ElasticSearch的节点启动后,它会利用多播(multicast)(或者单播,如果用户更改了配置)寻找集群中的其它节点,并与之建立连接。这个过程如下图所示:

(1)Cluster:集群

ES可以作为一个独立的单个搜索服务器。不过,为了处理大型数据集,实现容错和高可用性,ES可以运行在许多互相合作的服务器上。这些服务器的集合称为集群。

(2)Node:节点

形成集群的每个服务器称为节点。

(3)Shard:分片

(4)Replia:副本

(5)全文检索

(1)分布式实时文件存储,可将每一个字段存入索引,使其可以被检索到。

(2)实时分析的分布式搜索引擎。

(3)可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。也可以运行在单台PC上(已测试)

(4)支持插件机制,分词插件、同步插件、Hadoop插件、可视化插件等。

(1)Solr是apache的顶级开源项目,它是使用java开发 ,基于lucene的全文检索服务器。

(2)Solr比lucene提供了更多的查询语句,而且它可扩展、可配置,同时它对lucene的性能进行了优化。

solr客户端(浏览器、java程序)可以向solr服务端发送POST请求,请求内容是包含Field等信息的一个xml文档,喊汪通过该文档,solr实现对索引的纯拆维护(增删改)

solr客户端(浏览器、java程序)可以向solr服务端发送GET请求,solr服务器返回一个xml文档。

(1)Lucene是一个全文检索引擎工具包,它只是一个jar包,不能独立运行,对外提供服务。

(2)Solr是一个全文检索服务器,它可以单独运行在servlet容器,可以单独对外提供搜索和索引功能。Solr比lucene在开发全文检索功能时,更快捷、更方便。

今天是我在千锋线上做渗枣学习的第56天,加油!!!

将 elastic 用户的文件数限制调整为65536

使用 sysctl -p 使系统配置生效

首次启动后控制台会打印出一些预设置的log信息,以及会在 elasticsearch.yml 配置文件的的最后面增加 SECURITY 相关配置,可以不用理会,因为需要使用时可用脚本工具去修改默认生成的一些迟纯败配置信息;

第一次启动完成后会自动生成一些信息,接下来修改一下默认密码

此时是未开启 ssl 的情况下可以正常访问,同时也可以开启 ssl 完成请求

打开 config/elasticsearch.yml 中可以看到配置项 xpack.security.http.ssl.keystore.path: certs/http.p12 ,此 http.p12 证书为默认生成的,使用脚本工具重新生成一码颤份替换它,生成命令如下

解压 elasticsearch-ssl-http.zip 后,在目录 elasticsearch 中可以看到新生成的文件 http.p12 ,将其替换掉 config/cert/http.p12 ,由于生成此证书时密码为 123456 ,所以需要重新设置 keystore 的密码(需注意不是在配置文件上添加密码配置项),命令如下

重新打开 ssl 配置

配置 hosts 为 192.168.91.133 www.minxyz.com (此域名为任意定义的),重启 elasticsearch ,此时需要使用 https 来访问 ES ,可以先增加 -k 参数允许不使用证书连接到 SSL 站点(若浏览器可以强制访问不安全的地址)

若需要安全访问,需要增加证书配置,通过以下命令生成 http.pem 后,使用 http.pem 证书完成 https 请求访问

在浏览器上需要安全访问,可将 http.p12 证书安装到根证书目录下之后访问

由于直接使用 curl *** 作相对较麻烦,临时扩展定义一个 ecurl 别名,如下(后面即可用 ecurl 简化 *** 作)

安装中文分词插件 sudo bin/elasticsearch-plugin install analysis-smartcn ,安装成功后重启 es

比如要将“永远滴神”定义为一个词,需要在配置 IKAnalyzer.cfg.xml 中指定 <entry key="裤核ext_dict">customer.dic</entry>,然后创建文件 customer.dic ,并添加一行“永远滴神”,重启后再次访问即可看到分词结果


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12134954.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存