Lucene(一):数据库搜索弊端以及全文搜索的概念

本文探讨了生活中的搜索现象,分析了数据库检索的局限性,特别是模糊查询导致的索引失效问题,以及搜索结果相关度排序的需求。介绍了全文检索的概念,区分了结构化、半结构化和非结构化数据,并详细解释了非结构化数据中的全文检索原理及其应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

生活中的搜索

相关的搜索实际上无处不在,比如百度的搜索,Ecplise中的Help搜索,Windows系统中的文件搜索等

我们通常从搜索结果中经常发现有这么一种规律:越是符合条件的搜索结果会放在前面,不太符合条件的搜索结果会排在后面,并且通常会设置字体高亮

数据库检索带来的麻烦

假如我们要进行一次搜索:

场景一:

select * from content where title like '%目标字段';

但是这样搜索会有一个麻烦,就是在数据库中通过like进行模糊查询的话,会让索引失效

场景二:

select * from content where title like '%ant%'

搜索效果不太理想,比如我们想要搜索ant( 蚂蚁),但是搜索出了过多的结果出来,并且我们最想要的结果排在稍后的位置,并没有相关度的排序,客户更想要的是相关度最接近的排在最前面

在这里插入图片描述

而要解决这些问题,就要依靠Lucene了

什么是全文检索?

说全文检索之前,必须先说下数据的分类:

  • 结构化数据
  • 半结构化数据
  • 非结构化数据

结构化数据:指的是有固定格式或有限长度的数据,如数据库

半结构化数据:如XML,HTML,它们有自己的标签比如< XX></ XX>,但是< XX>里面写多写少,全看具体需求

非结构化数据;比如word文档,邮件等

非结构化数据有一种叫法叫"全文数据",从全文数据中进行检索就叫全文检索

特点就是:只关注文本,不关心语义

应用场景:比如百度搜索,你去搜索一个“麦当劳在哪里?”,搜索引擎并不会直接给予答案,而是去搜索标题里面含有"麦当劳在哪里"的网页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值