# Used-Book
**Repository Path**: dushan/used-book
## Basic Information
- **Project Name**: Used-Book
- **Description**: 类多抓鱼的DDD后端项目构建
- **Primary Language**: Java
- **License**: AFL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2021-07-21
- **Last Updated**: 2022-07-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# used-book
#### 介绍
类多抓鱼的DDD后端项目构建
#### 软件架构
软件架构说明
可以将短信校验做成扩展点的形式
注册需要(直接用扩展点落地:
(校园管理员)用户名密码+手机号确认(单独分离)
(普通用户)手机号确认
(独立于登录模块)三方账号绑定 + 手机号确认
登录可以复用XianYun-cola,并优化登录后事件 可以采用Event事件去做一个对应的登录记录同步或其他扩展
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
docker run -d -p 9200:9200 -p 9300:9300 -v /volume1/docker/elk/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.9.3
6c7644d0e7789cd21766d0601791f904cb332625f3ba60dbaec16d2b7e4dd4fc
docker run -d --link 7f0de61edff1a5d077401b3c4499eecf6f33cacab05e0f292a231ac4f2533a57 -p 5601:5601 -v /volume1/docker/elk/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.9.3
docker run -d --rm -it -p 5044:5044 -p 9600:9600 -v /volume1/docker/elk/logstash.yml:/usr/share/logstash/config/logstash.yml -v /volume1/docker/elk/pipeline/:/usr/share/logstash/pipeline/ logstash:7.9.3
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.3/elasticsearch-analysis-ik-7.13.zip
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.12.1/elasticsearch-analysis-pinyin-7.12.1.zip
``` elasticsearch
PUT book_info
{
"settings": {
"number_of_replicas": 0,
"number_of_shards": 2,
"analysis": {
"analyzer": {
"ik_analyzer": {
"type": "custom",
"tokenizer": "ik_max_word",
"filter": [
"full_prefix_analyzer",
"word_delimiter"
]
}
},
"filter": {
"full_prefix_analyzer": {
"type": "pinyin",
"keep_first_letter": true,
"keep_full_pinyin": false,
"keep_joined_full_pinyin": true,
"keep_none_chinese": false,
"keep_none_chinese_together": false,
"keep_none_chinese_in_first_letter": false,
"keep_none_chinese_in_joined_full_pinyin": true,
"none_chinese_pinyin_tokenize": true,
"keep_original": true,
"lowercase": true,
"trim_whitespace": true
}
}
}
},
"mappings": {
"properties": {
"id": {
"type": "long"
},
"title": {
"type": "completion",
"analyzer": "ik_analyzer",
"fields": {
"key": {
"type": "keyword"
}
}
},
"score": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"author": {
"type": "completion",
"analyzer": "ik_analyzer",
"fields": {
"key": {
"type": "keyword"
}
}
},
"publish": {
"type": "completion",
"analyzer": "ik_analyzer",
"fields": {
"key": {
"type": "keyword"
}
}
},
"publish_time": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"tag": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"like_person": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"translator": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"img": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"brief": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"isbn": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
```
``` elasticsearch
GET /book_info/_search
{
"suggest": {
"name-suggest": {
"prefix": "代码整洁",
"completion": {
"field": "title"
}
}
}
}
```
``` elasticsearch 关键字补全设置
PUT /suggest_book_set
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0,
"analysis": {
"analyzer": {
"prefix_pinyin_analyzer": {
"tokenizer": "standard",
"filter": [
"lowercase",
"prefix_pinyin"
]
},
"full_pinyin_analyzer": {
"tokenizer": "standard",
"filter": [
"lowercase",
"full_pinyin"
]
},
"like_pinyin_analyzer": {
"tokenizer": "standard",
"filter": [
"lowercase",
"like_pinyin"
]
}
},
"filter": {
"_pattern": {
"type": "pattern_capture",
"preserve_original": true,
"patterns": [
"([0-9])",
"([a-z])"
]
},
"prefix_pinyin": {
"type": "pinyin",
"keep_first_letter": "true",
"keep_full_pinyin": "false",
"none_chinese_pinyin_tokenize": "false",
"keep_separate_chinese": "true",
"keep_original": "false"
},
"full_pinyin": {
"type": "pinyin",
"keep_first_letter": "false",
"keep_full_pinyin": "true",
"keep_original": "false",
"keep_separate_chinese": "true",
"keep_none_chinese_in_first_letter": "false"
},
"like_pinyin": {
"type": "pinyin",
"keep_first_letter": "true",
"keep_full_pinyin": "true",
"keep_joined_full_pinyin": "false",
"keep_original": "false",
"keep_separate_chinese": "false",
"keep_none_chinese_in_first_letter": "false"
}
}
}
},
"mappings": {
"dynamic": "false",
"properties": {
"kwsuggest": {
"fields": {
"suggest_text": {
"type": "completion",
"analyzer": "standard",
"preserve_separators": "false",
"preserve_position_increments": "true",
"max_input_length": 50
},
"prefix_pinyin": {
"type": "completion",
"analyzer": "prefix_pinyin_analyzer",
"search_analyzer": "standard",
"preserve_separators": "false"
},
"full_pinyin": {
"type": "completion",
"analyzer": "full_pinyin_analyzer",
"search_analyzer": "standard",
"preserve_separators": "false"
},
"like_pinyin": {
"type": "completion",
"analyzer": "like_pinyin_analyzer",
"preserve_separators": "false"
}
},
"type": "text"
},
"weight": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
}
}
}
}
```
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)