Skip to content

问答题辅助Go方案 - 开箱即用、推荐引擎、嵌入式存储、RESTful API

License

Notifications You must be signed in to change notification settings

WindomZ/quizzee

Repository files navigation

quizzee

问答题辅助方案 - 开箱即用、推荐引擎、嵌入式存储、RESTful API

Build Status

目的是为各类问答题辅助项目,统一提供推荐记忆两个核心服务解决方案,高效且稳定。

提供两种接入方式:

Features

  • 1问题+N选项的答题模式
  • 推荐择优+答案记忆
  • RESTful API
  • 4种国内主流搜索引擎支持
  • 5种跨平台嵌入式数据库支持

Install

go get github.com/WindomZ/quizzee/...

API

跨语言方案,详见API服务和文档

推荐下面Docker方案

Docker

构建镜像

docker build -t quizzee/server .

运行容器

docker run -d -p 8080:8080 --name quizzee-server quizzee/server

Usage

原生Go方案,两种模式支持:

  1. 开箱即用 - 纯Go实现,快速应用各平台
  2. 自行配置 - 配置方案,可能需要cgo编译

Zero configuration usage

import "github.com/WindomZ/quizzee/quizzeer"

// 初始化数据库
quizzeer.RegisterDB("testing", "../data/data.db") // 配置表名和文件路径
...

// 推荐答案
recommend, rates := quizzeer.Recommend(
    "手机生产商诺基亚最初是以生产什么为主?", // 问题
    []string{"耳机", "纸", "杂货"},      // 回答选项
)
// recommend int       最佳选项序号
// rates     []float64 各选项权重比
...

// 存储结果
quizzeer.Mark(
    "手机生产商诺基亚最初是以生产什么为主?",
    []string{"耳机", "纸", "杂货"},
    "纸",
)

Advanced usage

import (
	_ "github.com/WindomZ/gcws/jieba"
	"github.com/WindomZ/quizzee"
	_ "github.com/WindomZ/quizzee-db/bolt"
)

// 初始化搜索
quizzee.RegisterCWS("jieba")
// 初始化数据库
quizzee.RegisterDB("testing", "../data/data.db") // 配置表名和文件路径
...

// 推荐答案
recommend, rates := quizzee.Recommend(
    "手机生产商诺基亚最初是以生产什么为主?", // 问题
    []string{"耳机", "纸", "杂货"},      // 回答选项
)
// recommend int       最佳选项序号
// rates     []float64 各选项权重比
...

// 存储结果
quizzee.Mark(
    "手机生产商诺基亚最初是以生产什么为主?",
    []string{"耳机", "纸", "杂货"},
    "纸",
)

Search engine

  • Baidu
  • Bing
  • Sogou
  • 360

Database

详见quizzee-db - 相关数据库支持

Related

Contributing

欢迎你提交PR。

也可以在issues汇报Bugs,提出新想法、新要求或者讨论问题。

如果你喜欢这个项目,可以点下 ⭐ 予以支持!

About

问答题辅助Go方案 - 开箱即用、推荐引擎、嵌入式存储、RESTful API

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published