美文网首页
Lucene简介

Lucene简介

作者: caster | 来源:发表于2021-07-13 09:51 被阅读0次

    传统数据库mysql在大数据量和高并发情况下,在模糊查询中文关键词时效率不高。
    使用lucene构造搜索索引库用于响应查询。

    1. 常用查询算法

    1.1 顺序扫描法

    逐行对比查找,慢但准确率高。
    场景:mysql的like关键字模糊查询,文本编辑器的ctrl+f查询功能

    1.2 倒排索引

    将文档进行切分词后组成索引(目录),索引和原文档形成关联关系,查询时通过索引找文档。
    切分词:去掉停用词,去掉空格标点符号,大写转小写,去掉重复词。切分词后构造的索引大小较小,易于查询。
    优点:准确率高,查询速度快,随内容增加查询不会变慢。
    缺点:占用了额外的存储空间。

    1.3 全文检索应用场景

    站内搜索:贴吧 论坛 电商等文本检索
    垂直领域:专注某一块业务的查询,招聘医药网站等
    专业搜索引擎公司:google baidu

    2. Lucene索引/搜索流程

    原始文档 -> 获取文档进行分词 -> 写入lucene索引库
    查询请求 -> 对lucene索引库进行搜索 -> 返回结果

    2.1 索引流程

    原始数据获取后创建成文档(Document),每条文档包含唯一的ID。
    文档中包含一个一个的Filed域,包含field name 和 value。
    对每个域的value进行分词后,将每个词和文档编号进行索引目录对照构造。

    2.2 搜索流程

    获取搜索的内容,如果是一句话,会进行且分词,对每个词分别进行查询,结果通过(and/or)进行组合后返回。

    相关文章

      网友评论

          本文标题:Lucene简介

          本文链接:https://www.haomeiwen.com/subject/fpusultx.html