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


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

相关推荐
avi911142 分钟前
【AI教人】在Inspector显示所有Delegate-Odin Inspector之三
java·前端·算法·delegate·inspector·editor扩展·unity editor
青春不朽5121 小时前
Python 的 list append 为什么是均摊 O(1)?拆开过度分配那张表,看容量翻倍背后的暗账
java·python·list
小羊没烦恼!2 小时前
.NET 11 Runtime Async 详解
java·运维·开发语言·javascript·python
哇嘎呀2 小时前
RHCSA题目
java·服务器·前端
SL_staff2 小时前
企业知识平台细粒度权限设计实践:从成员组、文档库到操作级的三层防线
java·开源·全栈
周厉2 小时前
ERP系统全景解析:核心模块与业务逻辑框架
java·服务器·前端
开开心心就好3 小时前
课堂随机点名工具,绿色版免安装双击即用
java·服务器·前端·ffmpeg·音视频·perl·symfony
code2cat3 小时前
Java高级篇之Socket:从建立连接到完整收发一条消息
java·开发语言
PD我是你的真爱粉3 小时前
成熟Agent系统设计深度研究报告
java·大数据·人工智能
鶴哥只手遮天4 小时前
Spring AI Alibaba 深度技术系列-第 05 章 编译与执行引擎:CompiledGraph、GraphRunner与三段式 Executor
java·人工智能·开源