当前位置: 首页 > news >正文

es 倒排索引

es 倒排索引TRee

倒排索引树(TRee)通常指的是Elasticsearch中用于支持高速搜索的一种数据结构。它是一种树状结构,可以通过特定的词项(terms)来快速定位包含这些词项的文档。

在Elasticsearch中,倒排索引树是用于文本字段的,它允许你根据词项快速查询包含这些词项的文档。这是通过以下步骤实现的:

  1. 分词:文本内容被分解成独立的词项(tokens)。

  2. 索引词项:为每个词项创建一个节点,并链接到包含该词项的文档ID列表。

  3. 构建树:将词项节点组织成树形结构,通常是为了优化搜索效率,如通过前缀组织词项以支持模糊查询。

由于Elasticsearch是基于Lucene的,实际上是Lucene提供了倒排索引的结构和算法。在Elasticsearch中,你不需要直接操作倒排索引树,因为这些是由Elasticsearch的索引过程在后台自动创建的。

// 假设有以下文档集合:
// doc1: "quick brown fox"
// doc2: "quick brown fox"
// doc3: "quick red rabbit"
// doc4: "jumped over the lazy dog"// 创建一个倒排索引树
TRee invertedIndexTree = new TRee();// 对每个文档进行分词,并为每个词项创建节点
for(Document doc : documents) {for(String token : doc.tokens) {//token 是分词   doc.id是es中文的的idinvertedIndexTree.addToken(token, doc.id);}
}// 现在可以根据词项快速查询包含这些词项的文档了
List<Integer> docIds = invertedIndexTree.search("quick"); // 返回 [doc1, doc2, doc3]

luence中可以自定义倒排索引的数据接口

http://www.lryc.cn/news/337265.html

相关文章:

  • 阿里云服务器公网带宽费用全解析(不同计费模式)
  • python-pytorch实现lstm模型预测文本输出0.1.00
  • 77、WAF攻防——权限控制代码免杀异或运算变量覆盖混淆加密传参
  • A12 STM32_HAL库函数 之 HAL-ETH通用驱动 -- A -- 所有函数的介绍及使用
  • Linux从入门到精通 --- 1.初始Linux
  • linux使用docker实现redis主从复制和哨兵模式
  • 新版chrome 解决在http协议下无法调用摄像头和麦克风的问题(不安全)
  • 机器学习入门项目二(逻辑回归)
  • C++类引用的好处
  • 从零自制docker-9-【管道实现run进程和init进程传参】
  • 全量知识系统 程序详细设计 之 三种“活物” 之1(QA百度搜索 )
  • QT 线程之movetothread
  • 如何处理ubuntu22.04LTS安装过程中出现“Daemons using outdated libraries”提示
  • 跟TED演讲学英文:The inside story of ChatGPT‘s astonishing potential by Greg Brockman
  • mybatis05:复杂查询:(多对一,一对多)
  • 微电网优化:基于肝癌算法(Liver Cancer algorithm, LCA)的微电网优化(提供MATLAB代码)
  • VUE_H5页面跳转第三方地图导航,兼容微信浏览器
  • 智慧安全运营:智能化运维,确保服务无忧
  • R-tree总结
  • Python 与机器学习,在服务器使用过程中,常用的 Linux 命令包括哪些?
  • js通过Object.defineProperty实现数据响应式
  • docker最简单教程(使用dockerfile构建环境)
  • Vue2 —— 学习(三)
  • Qt Creator 12.0.2 debug 无法查看变量的值 Expression too Complex
  • LeetCode-Java:303、304区域检索(前缀和)
  • 出海业务的网络安全挑战
  • 蓝桥杯考前准备— — c/c++
  • 【MATLAB源码-第4期】基于MATLAB的1024QAM误码率曲线,以及星座图展示。
  • 数据结构-----枚举、泛型进阶(通配符?)
  • 线上问题监控 Sentry 接入全过程