Java8 API 文档搜索引擎_1. 项目简介与模块划分

目录

[1. 项目实现背景](#1. 项目实现背景)

[2. 项目目标与实现方法](#2. 项目目标与实现方法)

[2.1 项目目标](#2.1 项目目标)

[2.2 总体功能](#2.2 总体功能)

[3. 基本工具](#3. 基本工具)

[3.1 Java8 API离线文档](#3.1 Java8 API离线文档)

[3.2 Ansj分词库](#3.2 Ansj分词库)

[4. 模块划分](#4. 模块划分)

[4.1 索引模块](#4.1 索引模块)

[4.2 搜索模块](#4.2 搜索模块)

[4.3 web模块](#4.3 web模块)


1. 项目实现背景

Oracle提供了Java多个版本的API 在线文档,以Java8为例,地址如下:

https://docs.oracle.com/javase/8/docs/api/index.html

在线文档页面布局如下:

Oracle官方的API文档却未提供搜索功能,这给查询接口及类的相关成员属性或方法造成了一定困难,只能根据左侧导航栏逐包逐类或接口地查找。

故现实现Java8 API 搜索引擎,以方便查找与使用。

2. 项目目标与实现方法

2.1 项目目标

实现java8 API文档的栈内搜索引擎。

2.2 总体功能

使用oracle官网提供的Java8的API压缩包,在本地基于离线文档制作索引实现搜索。当用户在搜索结果页点击具体的搜索结果时,就自动跳转到在线文档的页面。即本地搜索+在线查看。

本地搜索实现读取本地文档并建立索引,保证快速检索;在线查看则保证查找结果与官方网站的实时一致与美观展示。

3. 基本工具

3.1 Java8 API离线文档

java 8文档压缩包下载地址:Java Downloads | Oracle

点击Documentation Download进行压缩包的下载:

3.2 Ansj分词库

Ansj是一个开源的分词库,官网相关介绍见地址:

https://github.com/NLPchina/ansj_seg

Ansj的maven依赖见maven仓库地址:

https://mvnrepository.com/artifact/org.ansj/ansj_seg

或直接将以下dependency导入pom.xml文件:

XML 复制代码
<!-- Source: https://mvnrepository.com/artifact/org.ansj/ansj_seg -->
<dependency>
    <groupId>org.ansj</groupId>
    <artifactId>ansj_seg</artifactId>
    <version>5.1.6</version>
    <scope>compile</scope>
</dependency>

4. 模块划分

4.1 索引模块

  1. 扫描下载到的文档,分析文档内容,构建正排索引与倒排索引,并将索引内容保存在文件中;

  2. 加载制作好的索引,并提供一些API实现查正排与查倒排的功能;

4.2 搜索模块

调用索引模块,实现一个搜索的完整过程;

输入为用户查询词,输出为多条记录(标题、描述、URL)并且点击能够跳转;

4.3 web模块

实现一个web程序,能够通过网页形式与用户进行交互;


后续各模块具体实现见本专栏后文。

相关推荐
真上帝的左手1 小时前
10. 软件设计&架构-Spring Security 7 整合CAS SSO 单点登录
java·spring·架构·sso
Zane19941 小时前
单例线程安全、生产者消费者、死锁:并发面试三连问串讲
java·后端
云烟成雨TD2 小时前
Micrometer 系列【42】链路追踪:Span 体系 | 核心 API
java·链路追踪·micrometer
Gorway2 小时前
理解 Spring 依赖注入:从构造器注入到集合与条件 Bean
java·后端
LiLiYuan.3 小时前
【字符串常量池】
java·开发语言·面试
Sylvia33.3 小时前
从轮询到推送:足球数据API架构演进与火星数据技术拆解
java·服务器·网络·python·websocket·架构
cfm_29143 小时前
高并发系统缓存全解
java·缓存
Ghost Face...3 小时前
龙芯Docker全流程:安装到离线迁移实战
java·docker·eureka
16月6日-晴3 小时前
Java面向对象进阶—static
java·开发语言
xiaohaiAIgeo4 小时前
【2026年】ASHRAE 110与EN 14175通风柜测试标准对比:进口与国产品牌性能差距
java·前端·数据库·科普知识