【ES】es介绍

倒排索引(Inverted Index)和正排索引(Forward Index)

正排索引是一种以文档为单位的索引结构,它将文档中的每个单词或词组与其所在的文档进行映射关系的建立。正排索引通常用于快速检索指定文档的内容,可以根据文档的编号或其他标识符快速定位到文档的内容。

倒排索引是一种以单词或词组为单位的索引结构,它将每个单词或词组与包含该单词或词组的文档进行映射关系的建立。倒排索引通常用于根据关键词进行文档的检索,可以根据关键词快速找到包含该关键词的文档列表。

正排索引和倒排索引的主要区别在于索引结构的建立方式和使用场景。正排索引适用于需要快速定位到指定文档的场景,而倒排索引适用于根据关键词进行文档的检索和查询的场景。

下面是正排索引和倒排索引的示意图:

正排索引示意图:

文档1 -> 单词1, 单词2, ...
文档2 -> 单词3, 单词4, ...
文档3 -> 单词2, 单词5, ...

倒排索引示意图:

单词1 -> 文档1
单词2 -> 文档1, 文档3
单词3 -> 文档2
单词4 -> 文档2
单词5 -> 文档3

总的来说,正排索引和倒排索引是信息检索中常用的两种索引结构,它们在索引和搜索过程中发挥着不同的作用,对于不同的应用场景有着不同的优势。

正常情况下我们将Id设置为主键索引能够快速查询到某条记录,但是有些字段不方便创建索引,如名称,简介等字段。

在这里插入图片描述

  1. es和MySQL对比
    在这里插入图片描述
    分词器
    安装完IK分词器后有两个常用的分词模式ik_max_wordik_smart

ik_max_word 分词会分的更细。
ik_smart 发现一个词后就不会再对分过的词进行重新分词
程序员 使用ik_max_word分词。会分为程序员程序 三个词
而使用ik_smart的话,则就分一个 程序员 一个词
各有优缺点

在这里插入图片描述

配置IK分词器的扩展字典,及禁用字典 在这里插入图片描述
在这里插入图片描述

IK分词器的总结

在这里插入图片描述

mapping映射

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/305716.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一键访问多功能数据解决方案:如何轻松构建和管理APITable智能多维表格

文章目录 前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 前言 vika维格表作为新一代数据生产力平台,是一款面向 API 的智能多维表格。它将复杂的可视化数据库、电子表格、实时在线协同、低代码开发技术四合为一&am…

【JS逆向学习】有道翻译接口参数逆向

逆向目标 目标:有道翻译接口加密参数接口:https://dict.youdao.com/webtranslate加密参数: sign: e3d8fa747713d6957db7cd2eedaa0d95Cookie: OUTFOX_SEARCH_USER_ID696102715114.222.69.137; OUTFOX_SEARCH_USER_ID_NCOO304412380.2597743 …

出现频率高达70%软件测试面试题及答案!——看完面试官:是你面试我还是我面试你啊!

【纯干货!!!】花费了整整3天,整理出来的全网最实用软件测试面试大全,一共30道题目答案的纯干货,希望大家多多支持,建议 点赞!!收藏!!长文警告&…

千巡翼X4轻型无人机 赋能智慧矿山

千巡翼X4轻型无人机 赋能智慧矿山 传统的矿山测绘需要大量测绘员通过采用手持RTK、全站仪对被测区域进行外业工作,再通过方格网法、三角网法、断面法等进行计算,需要耗费大量人力和时间。随着无人机航测技术的不断发展,利用无人机作业可以大…

分享:新手程序员接单一个月,收入3375元

今年刚开始接触外包接单,从注册到现在接到了一个单子,赚了3000多块钱。 赚的钱不多,期间踩的坑倒是不少,给大家挨个唠唠…… 1 一定要完善好自己的简历项目 在外包平台上接单,简历上的项目是重中之重。跟传统的招聘不…

算法基础day2

前缀和 #include <iostream> using namespace std; const int N100010; int n,m; int a[N],s[N]; int main() {scanf("%d%d",&n,&m);for(int i1;i<n;i) scanf("%d",&a[i]);for(int i1;i<n;i) s[i]s[i-1]a[i];while(m--){int l,r;s…

软件测试/测试开发丨学习笔记之Docker常用命令

Docker常用的容器管理命令 docker run –name{your_name} –d {image_name} (运行容器) -d 后台运行docker ps -s -a {查看当前所有容器}docker stop {container_name} (停止容器)docker kill (container_name) {杀死容器}docker rm -f {container_name} (删除容器)docker log…

帆软BI和奥威BI分别适用于哪些行业?

听说不同品牌的BI软件都有各自擅长的行业数据分析&#xff0c;那么帆软BI和奥威BI分别适用于哪些行业&#xff1f;接下来就一起来看看吧&#xff01; 帆软BI 帆软BI是一款业界知名的商业智能(BI)工具&#xff0c;能帮助企业对数据进行分析和决策。帆软BI可以应用于多个行业&a…

uniapp开发移动端遇到的问题记录

1. 键盘弹起时页面整体上移问题 很常见但我解决过程中遇到了很多问题 我的键盘没有遮盖到输入框&#xff0c;但手机键盘弹起后&#xff0c;form部分会整体上移一点&#xff0c;并且底部的操作也会弹到键盘上方 网上写得很复杂&#xff0c;什么动态赋值高度balabala。看到有一…

【阅读笔记】Semi-supervised Domain Adaptation in Graph Transfer Learning

Background 真实世界的图上节点的标签数据是很难拿到的。 因此图转移学习被提出将知识从标记的源图转移出来&#xff0c;以帮助预测域变化的目标图中节点的标签。 尽管图迁移学习算法取得了重大进展&#xff0c;但它们通常假定源图中的所有节点都被标记出来了。 因此文章定义…

【JavaEE】多线程(6) -- 定时器的使用及实现

目录 定时器是什么 标准库中的定时器的使用 实现定时器 定时器是什么 Java中的定时器是一种机制&#xff0c;用于在预定时间执行某个任务。它允许开发人员在指定的时间间隔内重复执行任务&#xff0c;或在指定的延迟之后执行任务。定时器是Java提供的一种方便的工具&#xf…

接口自动化测试问题汇总

本篇文章分享几个接口自动化用例编写过程遇到的问题总结&#xff0c;希望能对初次探索接口自动化测试的小伙伴们解决问题上提供一小部分思路。 sql语句内容出现错误 空格&#xff1a;由于有些字段判断是变量&#xff0c;需要将sql拼接起来&#xff0c;但是在拼接字符串时没有…