首页 > 其他分享 >【IT老齐072】全文检索执行原理

【IT老齐072】全文检索执行原理

时间:2024-03-26 16:14:11浏览次数:21  
标签:072 倒排 索引 老齐 全文检索 分词

【IT老齐072】全文检索执行原理

全文检索引擎就是对非结构化文本进行解析、搜索的技术
非结构化文本的处理关键在于分词与倒排索引

分词

分词是指将一段文本中有用的词汇提取出来

常见的中文分词算法

  • Ngram穷举 n=2
  • 语法分析+字典: 按中文动名词分析推测外加分词字典维护
  • 爬虫+大数据+AI分析: 根据语义分析 (NLP)、词频、上下文推测筛选

倒排索引

产生分词后便会形成正向索引,倒排索引是反向将分词与文本的对应

多分词复杂情况要通过算分Score决定结果与排序前后,全文检索引擎要根据相似度算法 (TF-IDF和BM25) 进行算分按分数从高到低进行排序

标签:072,倒排,索引,老齐,全文检索,分词
From: https://www.cnblogs.com/faetbwac/p/18096908

相关文章

  • 【IT老齐075】高可用架构避免单点经典方案Keepalived+VIP
    【IT老齐075】高可用架构避免单点经典方案Keepalived+VIP规避单点是高可用架构设置最基本的考量概念KeepalivedKeepalived是Linux轻量级别的高可用解决方案Keepalived主要是通过虚拟路由几余(VRRP)来实现高可用功能,Keepalived部署和使用非常的简单,所有配置只需要一个配置......
  • 【IT老齐057】Raft选举算法
    【IT老齐057】Raft选举算法用途Raft算法是分布式系统开发首选的共识算法主要在分布式集群架构下进行领导者(主节点)的确认。比如现在流行的组件Etcd、Consul、Nacos、RocketMQ、RedisSentinel底层都是采用Raft算法来确认集群中的主节点,再通过主节点向其他节点下发指令......
  • 【IT老齐058】Zookeeper解决分布式系统商品库存超卖问题
    【IT老齐058】Zookeeper解决分布式系统商品库存超卖问题场景解决方案传统的synchronized是无效的,它只针对一个JVM进程内多个线程起到同步作用,对跨进程无效。利用数据库select...forupdate语句对库存进行锁定,依赖数据库自身特性,遇到跨库(分库分表)处理起来比较麻烦。利用......
  • 【IT老齐061】BASE最终一致性
    【IT老齐061】BASE最终一致性CAP理论下,常用的AP方案的补全手段BasicallyAvailable(基本可用)Softstate(软状态)Eventuallyconsistent(最终一致性)基本可用就是快速实现用户的基本价值与诉求,“创建订单”后立即返回就是基本可用的体现软状态代表业务操作,没有最终完成前的中......
  • 【IT老齐062】缓存一致性
    【IT老齐062】缓存一致性CacheAsidePattern禁止先删缓存,后更新数据库推荐先更新数据库,在删除缓存极端情况延迟双删......
  • 【IT老齐063】秒杀场景下解决商品库存超卖问题
    【IT老齐063】秒杀场景下解决商品库存超卖问题超卖问题核心问题秒杀商品库存总量固定先到先得,瞬间并发极大,但写库量有限解决方案利用预减库存方式杜绝超卖利用Nginx+Lua在网关层面将无效请求阻挡利用MQ消息队列的限流特性保证MySQL不会被瞬间击垮APP需要额外设计......
  • 【IT老齐053】动静分离架构抗住超高并发访问
    【IT老齐053】动静分离架构抗住超高并发访问架构三大分离设计读写分离动静分离前后台分离概念有效区分页面中的动静数据是优化的关键前提静态数据是无个性化数据静态文件:HTML/CSS/JS/图片低频变动数据:字典数据/地区数据/组织架构历史数据动态数据就是个......
  • 【IT老齐054】MongoDB介绍
    【IT老齐054】MongoDB介绍场景特点多形性:同一个集合中可以包含不同字段(类型)的文档对象动态性:线上修改数据模式,修改是应用与数据库均无须下线数据治理:支持使用JSONSchema来规范数据模式。在保证模式灵活动态的前提下,提供数据治理能力速度优势数据库引擎只需要在......
  • 【IT老齐055】Mysql Ngram全文检索技术
    【IT老齐055】MysqlNgram全文检索技术场景select*fromarticlewheretitlelikeJava%可能用到索引,看索引选择性select*fromarticlewheretitledlike%Java一定不会用到索引select*fromarticlewheretitlelike%Java%一定不会用到索引解决......
  • 【IT老齐056】日千万级订单系统的高可用、高性能架构
    【IT老齐056】日千万级订单系统的高可用、高性能架构原始场景避免丢单关键逻辑不要使用读写分离的查询方式,避免从库同步延迟造成订单查询异常关键逻辑也不要使用缓存来进行订单的查询订单补偿不要粗暴地使用消息队列的方式,避免中间件引发的订单丢失接收消息处理......