山东省建设监理协会网站6,博客营销是一种新兴的网络营销方式,中国建筑网官网视频,邢台建设企业网站价格文章目录 背景什么是ElasticSearch使用场景 ElasticSearch的在linux环境下的安装部署前期准备分配权限(正式实操)启动ElasticSearch创建用户组创建用户#xff0c;并设置密码用户添加到elasticsearch用户组指定用户操作目录的一个操作权限切换用户 解压elasticsearch修改es的配… 文章目录 背景什么是ElasticSearch使用场景 ElasticSearch的在linux环境下的安装部署前期准备分配权限(正式实操)启动ElasticSearch创建用户组创建用户并设置密码用户添加到elasticsearch用户组指定用户操作目录的一个操作权限切换用户 解压elasticsearch修改es的配置文件修改jvm.option调整jvm堆内存大小可能出现的问题启动验证是否启动成功 总结提升 背景
最近项目中要做一个根据某关键字查询商家名称或查询聊天记录的一个功能。这里需要考虑到一个性能的问题如果聊天的内容很多怎么才能快速检索的要查询的信息。这里查阅了相关的资料发现使用ElastSearch比较合适。下面展开关于ElasticSearch的相关内容介绍。
什么是ElasticSearch
Elasticsearch 被设计用于处理大规模数据集并实时查询。它可以快速地索引和搜索各种类型的数据包括结构化、非结构化和地理空间数据。 是一个高度可扩展的分布式搜索和分析引擎它能够处理海量数据的索引和检索并提供实时查询和分析功能。它基于Apache Lucene库构建使用倒排索引来高效地存储和搜索数据。
在Elasticsearch中数据被划分为多个分片shard每个分片可以在不同的节点上进行复制和分布。这种分布式架构使得Elasticsearch具有高可用性和容错性即使某个节点或分片发生故障系统仍然可以继续工作。
Elasticsearch支持各种类型的数据包括结构化数据、半结构化数据和非结构化数据。它不仅可以用于全文搜索还可以进行复杂的查询、聚合分析和地理空间分析。您可以通过使用JSON格式来索引和查询数据而无需预先定义数据模式。
通过使用Elasticsearch的RESTful API您可以轻松地与其进行交互。您可以使用HTTP请求来执行各种操作如索引文档、搜索、删除和更新数据。同时Elasticsearch还提供了强大的查询DSLDomain Specific Language以便更灵活地构建查询语句。
除了核心功能之外Elasticsearch还提供了插件生态系统可以方便地扩展其功能。这些插件可以用于数据可视化、安全认证、监控和集成到其他工具和系统中。 它具有以下特点
1、分布式架构Elasticsearch 使用分片和复制机制来将数据分布在多个节点上实现数据的水平扩展和高可用性。 2、实时搜索Elasticsearch 提供了近乎实时的搜索性能能够在毫秒级别内返回结果。 3、多种查询方式Elasticsearch 支持全文搜索、精确匹配、模糊搜索、范围搜索等多种查询方式以满足不同的搜索需求。 4、多样化的数据分析功能Elasticsearch 提供了丰富的聚合aggregation和数据分析功能如统计、分组、排序、过滤等可以进行数据探索和可视化。 5、开放性和可扩展性Elasticsearch 提供了丰富的 RESTful API易于集成和扩展同时还支持插件和扩展来满足各种定制化需求。 6、Elasticsearch 被广泛应用于各种场景如搜索引擎、日志和事件数据分析、实时监控、产品推荐、安全分析等。它的使用范围涵盖了互联网公司、企业组织、科研机构和个人开发者等不同领域。
使用场景
Elasticsearch 在许多不同的场景中都有广泛的应用。以下是一些常见的使用场景
1、搜索引擎和文档检索Elasticsearch 能够快速地索引大量的文档数据并提供高效的全文搜索功能。它被广泛用于构建搜索引擎、内容管理系统CMS和知识库等应用。
2、实时日志和事件数据分析Elasticsearch 可以接收和索引实时产生的日志和事件数据并提供强大的搜索和分析能力。它被广泛用于系统日志、应用日志、安全日志和运营监控等领域。
3、电子商务和产品推荐Elasticsearch 可以用于构建电子商务网站的商品搜索和过滤功能。它还可以与机器学习算法结合实现个性化的推荐系统。
4、数据分析和聚合Elasticsearch 提供了丰富的聚合功能可以对索引的数据进行统计、分组、排序和过滤等操作。它可以用于从大规模数据集中提取有价值的信息和洞察。
5、地理空间数据分析Elasticsearch 内置了地理空间功能可以索引和查询地理位置数据。它适用于地理信息系统GIS、位置搜索和地理可视化等应用。
6、全文搜索和自动补全Elasticsearch 提供了强大的全文搜索功能支持各种类型的查询如模糊搜索、关键词匹配和范围搜索。它还可以通过自动补全功能提供即时的搜索建议。
7、实时监控和报警Elasticsearch 可以接收和处理实时产生的指标数据并提供实时的仪表板和报警功能。它被广泛用于应用性能监控、系统运维和大规模分布式系统的监控。
8、智能搜索和语义分析Elasticsearch 可以与自然语言处理NLP技术结合实现智能搜索和语义分析功能。它可以理解查询意图提供更准确的搜索结果。
此外由于 Elasticsearch 具有高可扩展性和开放性它还可以应用于更多的场景如推荐系统、社交媒体分析、网络爬虫、数据挖掘和机器学习等。
ElasticSearch的在linux环境下的安装部署
前期准备
确保系统满足要求检查您的 Linux 系统是否满足 Elasticsearch 的最低系统要求。例如 1、确保您的系统具有足够的内存和磁盘空间并且已经安装了 Java 运行时环境JRE。
2、安装 JavaElasticsearch 是用 Java 编写的因此您需要在系统上安装适当版本的 Java。可以使用以下命令验证 Java 是否已安装
java -version3、创建一个非特权用户为了安全起见建议使用专用的非特权用户来运行 Elasticsearch。您可以使用以下命令创建新用户并切换到该用户
sudo adduser elasticsearch
sudo su - elasticsearch下载 Elasticsearch访问 Elasticsearch 官方网站https://www.elastic.co/cn/elasticsearch/下载合适的版本。您可以选择稳定版或预览版根据自己的需求选择正确的版本。
分配权限(正式实操)
ES不能使用root来启动必须使用普通用户才能安装启动。
启动ElasticSearch
创建用户组
创建了一个名字为elasticsearch的用户组
groupadd elasticsearch创建用户并设置密码
useradd gys
passwd xxx用户添加到elasticsearch用户组
usermod -G elasticsearch gys指定用户操作目录的一个操作权限
这里的前提是已经把elasticsearch压缩包解压然后把gys用户的操作权限加到该文件下
chown -R gys /usr/local/elasticsearch/elasticsearch-7.6.1使用
visudo编辑权限在root ALL(ALL) ALL的下面加一段话
gys ALL(ALL) ALL添加成功之后保存退出escwq
切换用户
su gys解压elasticsearch
在解压的过程中可能会有人使用tar -zxvf压缩文件这里可能会遇到错误是gzip: stdin: unexpected end of file这样的错误信息。 那么可以把解压命令中的z去掉也就是 tar-xvf。 或者可能有人会使用finalshell直接把文件进去可能也会遇到类似的问题这里建议使用上传文件如果直接拖进去可能会造成压缩包的文件缺失。
修改es的配置文件
进入到es的config目录
cd /usr/local/elasticsearch/elasticsearch-7.6.1/config修改相关信息
vim elasticsearch.yml把cluster.name…解开注释 node.name解开注释 network.host解开注释并设置为0.0.0.0任意主机都能访问到 http.port解开注释 cluster.initial_master_nodes解开注释这里和节点的名称是一致的 把这些信息加到配置文件的最后
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true //设置跨域
http.cors.allow-origin: *具体含义 bootstrap.system_call_filter: false该配置用于禁用 Elasticsearch 在启动时检查系统调用过滤器。系统调用过滤器是一种安全机制用于限制 Elasticsearch 进程能够执行的系统调用。通过将此配置设置为 falseElasticsearch 将跳过系统调用过滤器的检查。
bootstrap.memory_lock: falseElasticsearch 使用内存锁定mlock来确保其分配的堆内存不会被交换到磁盘或页面文件中。将该配置设置为 false 表示禁用内存锁定。禁用内存锁定可能会导致 Elasticsearch 在高负载情况下出现性能问题因为操作系统可能会将内存页交换到磁盘上。
http.cors.enabled: true该配置用于启用跨源资源共享CORS。CORS 是一种浏览器安全机制用于控制不同源网站之间的资源访问权限。通过将此配置设置为 trueElasticsearch 将允许来自任何源的跨域 HTTP 请求。
http.cors.allow-origin: “*”该配置指定允许的跨域请求的来源。通配符 * 表示允许来自任何源的跨域请求。您也可以指定特定的域名或 IP 地址。 然后保存并退出
修改jvm.option调整jvm堆内存大小
cd /usr/local/elasticsearch/elasticsearch-7.6.1/configvi jvm.options可能出现的问题
1、普通用户打开文案金的最大数限制 问题错误信息描述 max file descriptors [4096]for elasticsearch process likely too low.increase to at least [65536] ES因为需要大量的创建索引文件需要大量的打开系统的文件所以我们需要解除Iiux系统当中打开文件最大数目的限制不然ES启动就会抛错 三台机器使用baiqil用户执行以下命令解除打开文件数据的限制
进入文件
sudo vi /etc/security/limits.conf加入以下内容
* soft nofile 65535
* hard nofile 65535保存退出
启动
进入到elassearch的bin目录下 执行
./elasticsearch -d上面这种是后台运行也就是服务器退出之后该程序还在运行状态中 或者使用该命令也是后台运行
nohup ./bin/elasticsearch nohup.out 21 验证是否启动成功
使用ip9200在浏览器运行如果出现下面这些说明是已经运行成功了。
总结提升
Elasticsearch 是一个开源的分布式搜索和分析引擎具有强大的全文搜索能力和实时数据分析功能。下面是关于 Elasticsearch 的总结提升
高性能的全文搜索Elasticsearch 使用倒排索引和分布式搜索算法能够快速地对海量数据进行全文搜索。它支持复杂的查询语法并且能够智能地处理词干、拼写错误纠正和近义词等搜索相关性问题。
水平扩展和高可用性Elasticsearch 可以轻松地水平扩展到多个节点以应对高并发和大规模数据存储的需求。它使用分片和复制机制来保证数据的可靠性和高可用性即使有节点故障也能确保系统的正常运行。
实时数据分析Elasticsearch 不仅可以用于搜索还可以用于实时数据分析和聚合。它支持聚合操作、多维度分析和可视化。通过与 Kibana 等工具的集成可以方便地创建仪表盘和报表帮助用户深入理解数据。
强大的插件生态系统Elasticsearch 拥有丰富的插件生态系统可以满足各种不同的业务需求。例如通过插件可以实现与其他数据源的集成、自定义分析器和搜索过滤器、数据监控和警报等功能扩展。
多种语言支持Elasticsearch 提供了多种语言的客户端库方便开发者在各种编程语言中使用 Elasticsearch。无论是 Java、Python、JavaScript 还是其他主流语言都可以轻松地与 Elasticsearch 进行交互。
易于安装和部署Elasticsearch 的安装和部署相对简单官方提供了各个操作系统的安装包和文档教程。它也适合在云环境中部署如 AWS、Azure 和 Google Cloud 等。
总的来说Elasticsearch 是一个功能强大、性能卓越的搜索和分析引擎适用于各种场景如电子商务网站的商品搜索、日志分析、实时监控等。通过合理的配置和优化可以将其性能发挥到极致提供快速、可靠的数据搜索和分析服务。