# 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/)