全文检索笔记
全文检索流程分析图
索引库中是如何存储的?
数据库的一行数据会存储为一个document对象,一条记录的一列会存储为一个field,不会将数据库的所有数据都存储到索引库。
索引是如何创建过程
流程图
1. 分析文档,通过分词组件进行分词,获得词元(token)
2. 通过语言处理组件,
2.1 进行大写转小写,
2.2 复数变单数,
2.3 过去式,将来式转换为现在式,获得词(Term)
3. 获取Term
3.1获取Term词典
3.2 对Term词典进行排序
3.3合并相同的Term成文档倒排链表
3.4存入索引库
搜索流程
1. 根据搜索关键词创建语句进行查询
2. 根据查询结果结合自然权重和人为权重进行显示排序
自然权重
影响自然权重的两个因素tf和df
tf:即此Term在此文档中出现了多少次。tf 越大说明越重要
df:即有多少文档包含Term。df 越大说明越不重要。
人为设置权重
可以给 Document 和 Field 增加权重(Boost),使其在搜索结果排名更加靠前。缺省情况下,搜索结果以 Document.Score 作为排序依据,该数值越大排名越靠前。Boost 缺省值为 1。只要 Boost 足够大,那么就可以让某个命中结果永远排第一位。
猜你喜欢
blog
lucene全文检索(搜索)
框架
156
lucene全文检索依赖jardependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-highlighter
框架
157
:2.3.1.RELEASE,elasticsearch版本:7.6.0demo下载参考:springboot+elasticsearchdemo开始前请阅读:elasticsearch官方文档项目pom
file
ActiveMQ笔记
activemq
162
ActiveMQ笔记
blog
linux文件目录类指令笔记
linux系统
3083
linux文件目录类指令笔记pwd:查看当前工作目录mkdira:创建目录a,mkdir-pa/b:创建多级目录/a/brmdir:删除空目录rm-rf:删除目录touch文件名:创建空文件cp:拷
java框架
187
springboot整合elasticsearch框架实现全文索引demo配置说明参考:http://www.jiajiajia.club/blog/artical/Ja4t7X/378
blog
java笔记
其他
1018
java笔记以下笔记皆为抄录,来源于《疯狂java讲义》1.1位运算符 &按位与。当两位同时为1时才返回1 |按位或。只要有一位为1即可返回1 ~按位非。单目运算符,将操作数的每个位(包括符
file
git & github学习使用笔记
分布式项目管理工具
205
git&github学习使用笔记
blog
git常用命令笔记
工具
117
原文链接:https://blog.csdn.net/web_csdn_share/article/details/79243308几个专用名词的译名如下 Workspace:工作区 Index
归档
2018年12月
5
2019年01月
2
2019年04月
1
2019年05月
2
2019年06月
1
2019年11月
1
2019年12月
3
标签
博客
java
linux
springboot
笔记
问题