【技术解析 | 实践】Havenask文本索引

本文涉及的产品
推荐全链路深度定制开发平台,高级版 1个月
简介: 本次分享内容为Havenask的文本索引,本次课程主要分为两部分内容,首先简要介绍倒排索引的数据结构和文本索引的特性,然后进行对文本索引配置不同分析器的实践,希望通过分享帮助大家更好了解和使用Havenask。

一、文本索引简介

1、结构

  • 文本索引是倒排索引的一种,由Dictionaryposting两部分组成,Dictionary存储了检索词的哈希词表,Posting存储了实际的倒排链数据。
  • 对于文本索引,字段文本的生成是通过将Token哈希得到keyvaluenext的三元组。其中key是检索词的哈希,value是倒排链的位置偏移,next是在哈希碰撞时的下一个位置。
  • Posting存储了实际的倒排索引数据,主要分为三个部分,第一部分是Term meta,存储了DFTTF Term payload等数据,第二部分是Doc listDoc list中分别包含文档的ID、词频以及payload,第三部分是position list,主要包含了检索词在Doc中的位置以及相应的payload


image.png


相关信息的具体含义如下图所示:

image.png


2、文本索引的特性

相比较于倒排索引的其他索引,文本索引有一些独有的特性,以下是文本索引的特性:

  • 文本索引的field必须为TEXT类型,TEXT文本索引只支持单field,文本索引支持position信息,文本索引采取分词器将TEXT切分成多个term,然后对每个term建倒排,其配置可以参考右侧index params,以决定是否将这些信息存储在索引之中。
  • TEXT的文本索引与string类型索引的区别主要在于:文本索引先用分词器将文本分成多个检索词,再对每个检索词都建立倒排索引,而string索引是将整个string作为整体建立倒排索引。

 

{
    "name": "text_index",
    "index_type": "TEXT",
    "index_config": {
        "index_params": {
            "term_payload_flag": "1",
            "doc_payload_flag": "1",
            "position_payload_flag": "1",
            "position_list_flag": "1",
            "term_frequency_flag": "1"
        },
        "index_fields": [
            {
                "field_name": "title"
            }
        ],
        "compress_type": "ZSTD"
    }
}

image.png


二、文本索引实践

这部分通过对TEXT索引配置不同的分析器,学习如何配置文本索引以及不同分析器对于文本索引查询的效果。

1、配置文本索引

首先配置jieba分析器,将类型为TEXTtitle字段配置上 jieba 分词器,拉起集群后,查询效果,可以看到 jieba 分析器将字段进行了切分,切分为一个一个的Token,单独建立了倒排索引。再次查询,如“专业”,能够查到对应的Doc


2、不同分析器对文本索引效果不同

以配置简单分词器为例。简单分词器是通过空格进行分词的,而数据中不存在空格,所以此时会将整个字段建立一个索引。使用query查询效果,查询“专业”,无法查询到结果,因为此时是以整个字段建立索引,我们可以尝试将整个字段进行查询,方可查询到结果。

以上是本次课程的群补内容。

 

三、结尾

具体Havenask文本索引的视频可以通过链接查看,欢迎各位开发者使用。

视频链接:/live/253913?spm=a2c6h.14164896.0.0.604547c5N5yL9Z&scm=20140722.S_community@@%E8%A7%86%E9%A2%91@@253913._.ID_253913-RL_havenask-LOC_search~UND~community~UND~item-OR_ser-V_3-P0_3


关注我们:

Havenask 开源官网:https://havenask.net/

Havenask-Github 开源项目地址:https://github.com/alibaba/havenask

阿里云 OpenSearch 官网:https://www.aliyun.com/product/opensearch

钉钉扫码加入 Havenask 开源官方技术交流群:

1715594790746.png

目录
相关文章
|
1天前
|
域名解析 网络协议 安全
【域名解析DNS专栏】未来趋势:DNS解析技术的新发展与挑战
【5月更文挑战第30天】随着AI和物联网的发展,DNS解析正向智能化和安全增强迈进,利用大数据和DNSSEC保障速度与安全。同时,匿名解析技术将提升用户隐私保护。然而,面对复杂网络环境、性能与延迟挑战及国际标准兼容性问题,DNS技术需不断创新以应对未来挑战。Python示例展示了DNSSEC验证查询。DNS解析的持续进化对互联网的稳定和隐私至关重要。
|
2天前
|
Java
Java中的类:深入解析与实践
Java中的类:深入解析与实践
|
3天前
|
负载均衡 网络协议 容灾
【飞天技术沙龙】云解析DNS上海站《多云+IDC融合场景下的DNS最佳实践》圆满落幕
【飞天技术沙龙】云解析DNS上海站《多云+IDC融合场景下的DNS最佳实践》圆满落幕
|
3天前
|
机器学习/深度学习 自然语言处理 算法
深入解析深度学习中的卷积神经网络:从理论到实践
深入解析深度学习中的卷积神经网络:从理论到实践
20 0
|
3天前
|
并行计算 算法 物联网
LLM 大模型学习必知必会系列(六):量化技术解析、QLoRA技术、量化库介绍使用(AutoGPTQ、AutoAWQ)
LLM 大模型学习必知必会系列(六):量化技术解析、QLoRA技术、量化库介绍使用(AutoGPTQ、AutoAWQ)
LLM 大模型学习必知必会系列(六):量化技术解析、QLoRA技术、量化库介绍使用(AutoGPTQ、AutoAWQ)
|
3天前
|
负载均衡 网络协议 容灾
【飞天技术沙龙】云解析DNS上海站《多云+IDC融合场景下的DNS最佳实践》圆满落幕
【飞天技术沙龙】云解析DNS上海站《多云+IDC融合场景下的DNS最佳实践》于5月22日在上海举行,吸引了20余家知名企业参与。本次沙龙聚集“多云+IDC的融合DNS场景”,从DNS在“企业上云”和“容灾调度”两个主题的最佳实践展开分享,沙龙活动取得了圆满成功。
|
3天前
|
人工智能 算法 计算机视觉
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
|
3天前
|
机器学习/深度学习 人工智能 算法
构建一个基于AI的语音识别系统:技术深度解析与实战指南
【5月更文挑战第28天】本文深入探讨了构建基于AI的语音识别系统,涵盖基本原理、关键技术及实战指南。关键步骤包括语音信号预处理、特征提取、声学模型、语言模型和解码器。深度学习在声学和语言模型中发挥关键作用,如RNN、LSTM和Transformer。实战部分涉及数据收集、预处理、模型训练、解码器实现及系统评估。通过本文,读者可了解构建语音识别系统的基本流程和技巧。
|
4天前
|
安全 算法 网络安全
网络安全与信息安全:防护之道与实战策略网络防线的构筑者:网络安全与信息保护技术解析
【5月更文挑战第27天】 在数字化时代,数据成为了新的货币,而网络安全则是保护这些宝贵资产不受威胁的盾牌。本文将深入探讨网络安全漏洞的概念、加密技术的最新进展以及提升个人和企业的安全意识。通过对网络攻击者的策略进行剖析,我们不仅揭示了常见的安全漏洞,还分享了如何通过多层次防御机制来增强系统的安全性。文章的目标是为读者提供实用的知识,以便构建一个更加坚固的网络安全防线。
|
4天前
|
域名解析 负载均衡 网络协议
【域名解析DNS专栏】DNS解析中的Anycast技术:原理与优势
【5月更文挑战第27天】Anycast技术是解决DNS解析高效、稳定和安全问题的关键。它将一个IP地址分配给多地服务器,客户端请求自动路由至最近的低负载服务器,减少延迟,提高解析速度。此外,Anycast实现负载均衡,缓解DDoS攻击,并确保高可用性。通过遍历Anycast服务器选择最低延迟者进行DNS解析,实现网络性能优化。随着技术发展,Anycast在DNS解析中的应用将更加广泛。

推荐镜像

更多
http://www.vxiaotou.com