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


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

相关推荐
阔皮大师13 分钟前
INote轻量文本编辑器
java·javascript·python·c#
小法师爱分享17 分钟前
StickyNotes,简单便签超实用
java·python
qq_2975746717 分钟前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
金牌归来发现妻女流落街头30 分钟前
【从SpringBoot到SpringCloud】
java·spring boot·spring cloud
毅炼30 分钟前
Java 基础常见问题总结(4)
java·后端
GR23423442 分钟前
2025年影视仓TV+手机官方版 内置地址源支持高清直播
java·智能手机·软件
程序员清风1 小时前
北京回长沙了,简单谈谈感受!
java·后端·面试
何中应1 小时前
请求头设置没有生效
java·后端
凯尔萨厮2 小时前
Maven(Windows下载安装)
笔记·maven
闲人编程2 小时前
Elasticsearch搜索引擎集成指南
python·elasticsearch·搜索引擎·jenkins·索引·副本·分片