全文检索笔记

木易 637 0 0

全文检索流程分析图

图片1.png

索引库中是如何存储的?

数据库的一行数据会存储为一个document对象,一条记录的一列会存储为一个field,不会将数据库的所有数据都存储到索引库。

Screenshot_20190517-163805_WPS图片.jpg

索引是如何创建过程

流程图

qq.jpg



qq2图片.jpg


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. 根据查询结果结合自然权重和人为权重进行显示排序

自然权重

影响自然权重的两个因素tfdf

tf:即此Term在此文档中出现了多少次。tf 越大说明越重要

df:即有多少文档包含Termdf 越大说明越不重要。

 

人为设置权重

可以给 Document Field 增加权重(Boost),使其在搜索结果排名更加靠前。缺省情况下,搜索结果以 Document.Score 作为排序依据,该数值越大排名越靠前。Boost 缺省值为 1。只要 Boost 足够大,那么就可以让某个命中结果永远排第一位


猜你喜欢
框架 156 lucene依赖jardependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-highlighter
框架 157 :2.3.1.RELEASE,elasticsearch版本:7.6.0demo下载参考:springboot+elasticsearchdemo开始前请阅读:elasticsearch官方档项目pom
activemq 162 ActiveMQ
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 ~按位非。单目运算符,将操作数的每个位(包括符
分布式项目管理工具 205 git&github学习使用
工具 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 笔记 问题
目录