目前在系统中涉及到搜索的解决方案都是通过数据库自带特性解决,如通过mysql5.7自带的全文检索功能实现资源的搜索。
这样实现的好处是方便,无需额外开发和维护成本。但是随着业务的发展和数据的增加,性能和可扩展方面很容易出现瓶颈。
结合本次方案库需求的契机,决定引入spring boot + solr 为主要架构基础的前置平台用于应对日渐旺盛的搜索服务需求。
解决方案前置平台基于spring boot开发,主要看中spring boot的微服务思想,方便开发和部署。同时可以为以后的微服务架构做技术热身。
通过spring boot搭建的前置平台会处理请求接入,限流,监控,安全等非功能性需求。
搜索端结合了最新的apache solr服务器端(6.6版本),使用自带的smart-cn中文分词组件,提供搜索服务的基础支持。
架构实现部分主要通过具体实践来验证架构的可行性,不涉及具体业务细节和实际数据,
架构实现的操作描述力求做到可复制。
首先确保本机安装了jdk8+,然后就进入eclipse,创建一个maven project。
POM文件包含以下内容:
Maven结构搭好后就是搭建你的项目架构,如图:
Application.java 对应了项目的入口,通过一段很简单的代码就可以启动一个jetty服务了。
package app; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import sample.Example; @SpringBootApplication public class Application { public static void main(String[] args) throws Exception { SpringApplication.run(Example.class, args); } }运行示意图:
Solr服务端安装和配置首先到官方网站下载最新的安装包,当前版本是6.6,下载zip包就可以了。
解压后的文件夹有以下几个目录是首先需要关注的:
bin: 启动脚本目录,通过这里面的命令来启动关闭服务器
server:solr服务器目录,配置文件和jar包以及索引数据都是在这个目录里面的
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。