# cloud-code-search-platform **Repository Path**: yunstabc/cloud-code-search-platform ## Basic Information - **Project Name**: cloud-code-search-platform - **Description**: 一个基于 Java + Elasticsearch + Vue 的开源全文搜索平台,支持快速搭建个人或团队的搜索引擎。提供前后端分离架构,可录入文本、个人简介等内容,并实现高效检索与展示。适合用于博客、知识库、文档搜索等场景,部署简单、可扩展性强。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-09-23 - **Last Updated**: 2026-03-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cloud-code-search-platform ### 项目介绍 这是一款基于ElasticSearch8.9+java17开发的搜索引擎系统,部署简单方便, 能够让你快速拥有一个属于自己的搜索引擎系统 ![搜索界面](doc/image/demo1.png) ![搜索结果预览](doc/image/demo2.png) ![搜索结果](doc/image/demo3.png) 这个项目是fork cc-cloud-platform 脚手架,项目 # 1.项目依赖中间件 * Elasticsearch8.9.0 * # 2.Elasticsearch安装脚本 > 复制脚本内容,在安装节点执行即可安装完成 >>> ``` es_dir="/data/es" mkdir -p ${es_dir} cd ${es_dir} #mkdir -p {data,plugins,logs} 这个命令在不同班发行部有差异 所以改下成以下通用形式 mkdir data mkdir plugins mkdir logs chmod -R 777 ${es_dir} ``` 安装命令 ```aidl docker run -d --name es -e "ES_JAVA_OPTS=-Xms1G -Xmx1G" -e "discovery.type=single-node" -v /data/es/data:/usr/share/elasticsearch/data -v /data/es/logs:/usr/share/elasticsearch/logs -v /data/es/plugins:/usr/share/elasticsearch/plugins --privileged -p 9500:9200 -p 9400:9300 docker.elastic.co/elasticsearch/elasticsearch:8.9.0 ``` es重置密码 ``` elasticsearch-reset-password -u elastic ``` # 3.后端项目运行启动 1.先修改ES配置信息 找到cloud-code-core > cloud-code-core-service > resources > application-dev.yml 配置文件 ![修改配置](./doc/image/update.png) 找到cloud-code-core > cloud-code-core-service > com.cloudcode.SearchBootstrap 主启动类 ![启动成功截图](./doc/image/iShot_2023-11-25_23.17.33.png) # 3.前端项目运行启动 ## 环境版本要求 * npm-10.8.2 * node-v20.18.0 * yarn-1.22.22 1.先进到cloud-code-search-vue目录,安装依赖 ```aidl npm install ``` 2.启动项目 ```aidl npm run dev ``` ![启动成功](./doc/image/前端启动.png) # 4.项目打包 进入 cloud-code-serach-platform目录 执行mvn命令 ``` mvn clean -Dmaven.test.skip=true verify ``` # 初始化数据 ## 个人简介录入 ``` http://localhost:8082/search POST {"content":"云上天是一位java开发者,乐于分享项目经验","type":"BRIEF_INTRODUCTION","path":"","img":["https://xy-1257362739.cos.ap-nanjing.myqcloud.com/test/yunst.jpg"],"title":"云上天爱编程","career":"程序员"} ``` ## 普通文本数据 ``` http://localhost:8082/search POST {"content":"云上天教大家Linux磁盘操作,总之。","type":"TEXT","path":"https://xxx","img":["https://img0,"],"title":"Linux 磁盘信息查看与管理-云上天"} ``` # 5.ES操作命令 ### 普通查询 ```agsl curl --user elastic:你的es密码 127.0.0.1:9500/document_contents/_search?pretty -H 'Content-Type:application/json' -d '{"size":3,"sort":[{"createTime":"asc"}],"query":{"match":{"content":"yunst"}}}' ``` ### 游标查询 ``` curl --user elastic:你的es密码 127.0.0.1:9500/document_contents/_search?pretty -H 'Content-Type:application/json' -d '{"size":3,"sort":[{"createTime":"asc"}],"query":{"match":{"content":"yunst"}},"search_after":["1698221361707"]}' ``` ### 删除文档 ``` curl -X DELETE --user elastic:你的es密码 127.0.0.1:9500/document_contents ``` ### 分词器 ik_max_word:为最细粒度划分 ```agsl curl -X POST --user elastic:你的es密码 127.0.0.1:9500/_analyze?pretty -H 'Content-Type:application/json' -d '{"analyzer":"ik_max_word","text":"我是中国人"}' ``` ik_smart:为最少切分 ```agsl curl -X POST --user elastic:你的es密码 127.0.0.1:9500/_analyze?pretty -H 'Content-Type:application/json' -d '{"analyzer":"ik_smart","text":"我是中国人"}' ``` ### 技术交流 ![技术交流](doc/image/wechat.JPG)