当前位置:首页 > 经验 >

elasticsearch用什么语言(elasticsearch是用什么语言写的)

来源:原点资讯(m.360kss.com)时间:2022-11-04 04:20:32作者:YD166手机阅读>>

elasticsearch用什么语言,elasticsearch是用什么语言写的(1)

背景

“检索”是很多产品中无法绕开的一个功能模块,当数据量小的时候可以使用模糊查询等操作凑合一下,但是当面临海量数据和高并发的时候,业界常用 elasticsearch 和 lucene 等方案,但是elasticsearch对运行时内存有着最低限额,其运行时大小推荐 2G 以上的内存空间,并且需要额外的磁盘空间做持久化存储,Redisearch这一次我们带来一种更加高效经济的文本检索方案


Redisearch

介绍

由RedisLabs团队开发,RediSearch 是一个强大的文本搜索和二级索引引擎,作为 Redis 模块构建在 Redis 之上。与其他开源搜索引擎相比,RediSearch架构采用C语言编写,基于优化的数据结构进行构建,用于索引和检索数据,速度非常快。Redis Modules 是 redis 4.0 引入的一种扩展机制,用户可以通过实现 redis module 提供的 C api 接口为 redis 服务添加定制化功能。redisLab 也希望籍此来规范 redis 社区的 ecosystem 实现。redis module 本身的版本独立于redis,并且以编译成动态加载库 .so 文件的方式 release, 不同版本的 redis 可以 load 同一版本 module.so 文件。RediSearch是基于redis构建的分布式全文搜索和聚合引擎,能以极快的速度在redis数据集上执行复杂的搜索查询。

elasticsearch用什么语言,elasticsearch是用什么语言写的(2)

特性

Redisearch是高性能的全文搜索引擎(Faster, in-memory, highly available full text search),可作为Redis Module运行在Redis上。但是它与其他Redis搜索库不同的是,它不使用Redis内部数据结构,例如集合、排序集...,Redisearch支持如下特性:

  • 二级索引
  • 聚合
  • 多个字段的文档的全文索引。
  • 没有性能损失增量索引。
  • 文档排名(由用户提供手动指数时间)。
  • 字段权重。
  • 支持用于查询扩展和评分的自定义函数
  • 在子查询之间使用AND,OR,NOT运算符进行复杂的布尔查询。
  • 可选的查询子句
  • 前缀匹配全文查询。
  • 自动完成建议以模糊前缀(建议)
  • 准确短语搜索。
  • 基于词*查询扩展(使用Snowball)。
  • 数字过滤器和范围。
  • 利用redis自己的GEO命令进行地理搜索。
  • 支持任何utf-8编码的文本。
  • 获取完整的文档内容或者只是id。
  • 自动索引现有HASH keys文件
  • 使用索引垃圾收集进行文档删除和更新。
  • 可排序属性(即按年龄或名称对用户进行排序)
  • 部分和有条件的文档更新。

持久化

RediSearch 支持基于 RDB 和 AOF 的持久性。对于纯 RDB 设置,除了标准的 Redis RDB 配置之外,不需要任何特殊的东西,虽然 RediSearch 支持使用基于 AOF 的持久性,但从 1.1.0 版本开始,它 不支持 使用 AOF 重写的“经典 AOF”模式。相反,它仅支持具有 RDB 前导码模式的 AOF。在这种模式下,重写 AOF 日志只会创建一个 RDB 文件,并附加到该文件中。

集群

RediSearch 固有地支持复制,并且使用主/从设置,可以使用从属来实现高可用性。最重要的是,从节点可用于搜索,以负载平衡读取流量。Redis Labs 提供的企业版 RediSearch 支持集群设置并扩展到数百个节点、数十亿个文档和 TB 级数据,企业版可以在active-ative 地理分布式数据库中运行 RediSearch。

elasticsearch用什么语言,elasticsearch是用什么语言写的(3)

性能

在同等服务器配置下索引了 560 万个文档 (5.3GB),RediSearch 构建索引的时间为 221 秒,而 Elasticsearch 为 349 秒,或者快 58%

elasticsearch用什么语言,elasticsearch是用什么语言写的(4)

首页 123下一页

栏目热文

elasticsearch是什么东西(elasticsearch是干啥的)

elasticsearch是什么东西(elasticsearch是干啥的)

Elasticsearch的简介ElasticSearch:智能搜索,分布式的搜索引擎是ELK的一个组成,是一个产品,而...

2022-11-04 04:22:53查看全文 >>

elasticsearch的概念(elasticsearch 是啥)

elasticsearch的概念(elasticsearch 是啥)

Elasticsearch核心概念Near Realtime (NRT) 近实时:数据提交索引后,立马就可以搜索到。Cl...

2022-11-04 05:05:24查看全文 >>

elasticsearch重要吗(为什么要elasticsearch)

elasticsearch重要吗(为什么要elasticsearch)

前提人工智能、大数据快速发展的今天,对于 TB 甚至 PB 级大数据的快速检索已然成为刚需,大型企业早已淹没在系统生成的...

2022-11-04 05:04:41查看全文 >>

elasticsearch怎么读日志(elasticsearch 日志输出)

elasticsearch怎么读日志(elasticsearch 日志输出)

ElasticStack技术栈如果你没有听说过 Elastic Stack,那你一定听说过 ELK ,实际上 ELK 是...

2022-11-04 04:19:49查看全文 >>

elasticsearch是什么系统(elasticsearch为什么快)

elasticsearch是什么系统(elasticsearch为什么快)

在安装配置之前 ,我们首先应该弄清楚什么是Elasticsearch,以及它有什么作用什么是Elasticsearch?...

2022-11-04 04:35:44查看全文 >>

elasticsearch 重要吗(elasticsearch 为啥快)

elasticsearch 重要吗(elasticsearch 为啥快)

问题1:开发不规范。我们这边es 都是我们在推,很多开发不会用或者用的不规范!问题2:不管性能,用起来再说!场景1:我们...

2022-11-04 04:56:37查看全文 >>

elasticsearch 别名(elasticsearch使用场景)

elasticsearch 别名(elasticsearch使用场景)

序言Elasticsearch提供了很多开发与运维便利的特性,很多特性看起来微不足道,需要时感慨真是卧虎藏龙。以下围绕E...

2022-11-04 04:20:36查看全文 >>

elasticsearch怎么用(elasticsearch客户端操作)

elasticsearch怎么用(elasticsearch客户端操作)

本章将介绍:Elasticsearch的作用,搭建elasticsearch的环境(Windows/Linux),Ela...

2022-11-04 04:23:10查看全文 >>

如何查看elasticsearch(elasticsearch 7中文教程)

如何查看elasticsearch(elasticsearch 7中文教程)

Elasticsearch加载数据我们要想完成高效的搜索任务,需要ES的支持因为数据库的模糊查询效率太低了我们就是说,我...

2022-11-04 04:35:10查看全文 >>

为什么使用elasticsearch(elasticsearch快速入门)

为什么使用elasticsearch(elasticsearch快速入门)

搜索是现代软件必备的一项基础功能,而 Elasticsearch 就是一款功能强大的开源分布式搜索与数据分析引擎。它可以...

2022-11-04 05:02:59查看全文 >>

文档排行