2 Star 6 Fork 2

朱永杰 / Used-Book

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 8.22 KB
一键复制 编辑 原始数据 按行查看 历史
朱永杰 提交于 2021-05-29 22:01 . 调整推荐功能

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
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
          }
        }
      }
    }
  }
}
GET /book_info/_search
{ 
  "suggest": {
    "name-suggest": {
      "prefix": "代码整洁",
      "completion": {
        "field": "title"
      }
    }
  }
}
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
  3. 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上的优秀开源项目
  4. GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
  5. Gitee 官方提供的使用手册 https://gitee.com/help
  6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/
Java
1
https://gitee.com/zhuyongjie1212/used-book.git
git@gitee.com:zhuyongjie1212/used-book.git
zhuyongjie1212
used-book
Used-Book
master

搜索帮助