FAQ问答系统安装与使用教程
1. 项目的目录结构及介绍
faq-qa-sys
├── data
│ └── elasticsearch_API
├── docs
│ └── img
├── sql
│ └── faqdb.sql
├── src
│ └── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── qa
│ │ ├── controller
│ │ ├── model
│ │ ├── repository
│ │ ├── service
│ │ └── QuestionAnsweringSystemApplication.java
│ └── resources
│ ├── application.yml
│ ├── application-user.yml
│ └── log4j2.xml
└── ui
└── dialogue.html
目录结构介绍
- data: 存放Elasticsearch API路径和相关数据文件。
- docs: 存放项目文档和图片资源。
- sql: 存放数据库初始化脚本。
- src/main/java: 存放Java源代码,包括控制器、模型、仓库、服务和启动类。
- src/main/resources: 存放配置文件和日志配置文件。
- ui: 存放前端界面文件。
2. 项目的启动文件介绍
启动类
src/main/java/com/example/qa/QuestionAnsweringSystemApplication.java
这是项目的启动类,负责启动Spring Boot应用程序。通过运行该类,可以启动整个FAQ问答系统。
启动步骤
- 源码启动: 直接运行
QuestionAnsweringSystemApplication.java
。 - JAR包启动: 将项目打包成JAR文件,然后通过命令行启动:
java -jar faq.jar --spring.config.additional-location=application.yml
3. 项目的配置文件介绍
主配置文件
src/main/resources/application.yml
该文件包含了应用的基本配置,如服务器端口、数据库连接、Redis连接、Elasticsearch连接等。
server:
port: 1234
servlet:
context-path: /faq
spring:
datasource:
url: jdbc:mysql://localhost:3306/faqdb?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
redis:
host: localhost
port: 6379
database: 6
jedis:
pool:
max-active: 50
min-idle: 20
elasticsearch:
host: localhost
port: 9200
profiles:
include: - user
用户配置文件
src/main/resources/application-user.yml
该文件包含了用户自定义的配置,如检索配置、相似度计算配置、对话配置等。
retrieval:
index:
faq-pair: faq_pair
search:
size: 30
elasticsearch-API-path: data/elasticsearch_API
similarity:
request-url: http://[::1]:6100/calculate_similarity
dialogue:
confidence-rank:
size: 5
weights:
relevance-weight: 0.3
similarity-weight: 0.7
status:
expire-time: 2
multi-turn-qa:
path: data/multi_turn_qa
hot-data:
open: true
expire-time: 5
通过以上配置文件,可以灵活调整系统的各项参数,以适应不同的运行环境和需求。