产品目录索引怎么处理?字段工具怎么去索引?

优采云 发布时间: 2021-08-17 18:09

  产品目录索引怎么处理?字段工具怎么去索引?

  作者/译者:Redis 中国用户组主席张东红

  RediSearch 简介

  RediSearch 是一个高性能的全文搜索引擎,可以作为一个 Redis 模块在 Redis 上运行,由 RedisLabs 团队开发。

  特点:更快、内存中、高度可用的全文搜索

  项目地址:

  官网:

  

  主要特点

  RediSearch是在Redis的基础上从0发展起来的全文搜索索引。它使用新的 Redis 模块 API 来扩展 Redis 的新命令和功能。其主要功能包括:

  RediSearch实战-小试大锤

  通过以下案例,让我们了解一些关于RediSearch的关键概念。以下示例基于 redis-cli 工具。

  1. 定义索引

  为了使搜索有效,RediSearch 需要知道如何索引文档。一个文档可以有多个字段,每个字段都有自己的权重(例如:标题通常比文本本身更重要)。搜索引擎可以使用数字字段进行过滤(我们将来会添加更多字段)。

  所以,第一步是创建一个索引定义,它告诉 RediSearch 如何处理我们将添加的文档。

  在本例中,我们将创建一个产品目录索引,其中每个产品都有名称、描述和价格(允许我们按价格过滤产品)。

  我们使用 FT.CREATE 命令,它的语法是:

  

  在这个例子中:

  

  这意味着产品名称和描述被视为文本字段,它们各自的分数为 10 分和 1 分。此价格是用于过滤的数字字段。

  2. 添加文档

  现在我们可以使用 FT.ADD 命令向我们的索引添加一个新文档:

  

  以添加电视为例:

  

  该产品立即被添加到索引中,现在可以在以后的搜索中找到。

  注意:RediSearch 支持 UTF-8(或纯 ASCII)编码的文本,并且不检查输入的有效性。它的主要限制是使用普通空格和标点符号。它适用于 ASCII 和 UTF-8。效果。

  3.搜索

  现在我们已将产品添加到索引中,使用 FT.SEARCH 命令进行搜索非常简单:

  

  或者按价格过滤,如果价格在 200 美元到 300 美元之间:

  

  在redis-cli客户端输出的结果信息如下:

  

  既然我们已经演示了 RediSearch 的工作原理,我们将在短时间内积极投资于 RediSearch 的开发和设计。

  性能

  为了评估 RediSearch 与其他开源搜索引擎相比的性能,我们创建了一组基准来衡量延迟和吞吐量——索引和查询相同的数据集。我们的基准测试结果表明,RediSearch 比 ElasticSearch 和 Solr 快 120% 到 500%。

  基线设置:

  压力测试结果展示:

  

  

  

  

  

  

  

  

  

  

  

  

  总结:

  我们已经证明,使用 Redis Module API,我们可以在 Redis 上创建功能丰富且高性能的搜索引擎。

  从基准测试来看,使用 RediSearch 优于其他搜索引擎,并且在某些情况下存在较大的剩余保持延迟。

  但是,RediSearch 仍然需要比 ElasticSearch 和 Solr 更多的功能。它的性能优势使其成为许多用例的可行替代方案,随着时间的推移,我们打算利用开源社区来帮助它得到加强。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线