lucene 入门简介

Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。

下图描述了全文检索的流程(来源《Lucene in action》):

全文检索大体分两个过程:索引创建和搜索索引

●索引创建(indexing):将现实世界中所有的结构化和非结构化数据提取信息,创建索引的过程。

●搜索索引(search):就是得到用户的查询请求,搜索创建的索引,然后返回结果的过程。

https://blog.csdn.net/liuhaiabc/article/details/52346493    中全文检索理论个人感觉写的非常好,借用总结:

1. 索引过程:

    1) 有一系列被索引文件

    2) 被索引文件经过语法分析和语言处理形成一系列词(Term) 。

    3) 经过索引创建形成词典和反向索引表。

    4) 通过索引存储将索引写入硬盘。

2. 搜索过程:

    a) 用户输入查询语句。

    b) 对查询语句经过语法分析和语言分析得到一系列词(Term) 。

    c) 通过语法分析得到一个查询树。

    d) 通过索引存储将索引读入到内存。

    e) 利用查询树搜索索引,从而得到每个词(Term) 的文档链表,对文档链表进行交,差,并得到结果文档。

    f) 将搜索到的结果文档对查询的相关性进行排序。

    g) 返回查询结果给用户

原文地址:https://www.cnblogs.com/jnba/p/10522704.html