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程序,能够通过网页形式与用户进行交互;


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

相关推荐
亦暖筑序38 分钟前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端
敲代码的彭于晏1 小时前
Bean 生命周期完全图解:前端同学也能看懂的 Spring 核心机制
java·前端·后端
plainGeekDev2 小时前
ButterKnife → ViewBinding
android·java·kotlin
像我这样帅的人丶你还18 小时前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩18 小时前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
tntxia19 小时前
Mybatis的日志输入
java
亦暖筑序21 小时前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
用户298698530141 天前
Java 实现 Word 文档加密与权限解除
java·后端
Yeats_Liao1 天前
14:Servlet中的页面跳转-Java Web
java·后端·架构
未秃头的程序猿1 天前
告别"if-else地狱"!Java 21模式匹配,代码优雅了10倍
java·后端·面试