弹簧引导集成瑞安搜索客户端的实现代码

  

Apache Solr是一个搜索引擎.Spring引导为Solr客户端库及弹簧数据Solr提供的基于Solr客户端库的抽象提供了基本的配置.Spring引导提供了一个用于聚集依赖的spring-boot-starter-data-solr起动POM。

  

引入spring-boot-starter-data-solr依赖,在砰的一声。xml配置文件中增加如下内容(基于之前章节“春引导构建框架”中的砰的一声。xml文件):
  

        & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-data-solr   & lt;/dependency>      

可以像其他Spring bean一样注入一个自动配置的SolrServer实例。默认情况下,该实例将尝试使用localhost: 8983/solr连接一个服务器。
  

        @ component   公开课MyBean {   私人SolrServer solr;   @ autowired   公共MyBean (SolrServer solr) {   这一点。solr=solr;   }//?   }   之前      

如果添加一个自己的SolrServer类型的@ bean,它将会替换默认的。

  

<强>应用集成Solr搜索客户端案例
  

  

弹簧引导的配置是集中性的(可以拆分成不同的配置文件),因此在应用程序。属性文件中添加以下配置:
  

        # SOLR (SolrProperties)   spring.data.solr.host=http://localhost: 8983/solr   # spring.data.solr.zkHost=spring.data.solr.repositories.enabled=true      

使用Spring-data-solr类似spring-data-jpa,配置@ bean接受zk服务器相关属性(自定义的配置方式,可以直接使用默认方式)
  

        进口org.springframework.boot.context.properties.ConfigurationProperties;   @ConfigurationProperties(前缀=皊pring.solr”)   公开课SolrConfig {   私人字符串主机;   私人字符串zkHost;   私人字符串defaultCollection;   公共字符串getDefaultCollection () {   返回defaultCollection;   }   公共空间setDefaultCollection(字符串defaultCollection) {   this.defaultCollection=defaultCollection;   }   公共字符串getHost () {   返回主机;   }   公共空间setHost (String主机){   这一点。主机=主机;   }   公共字符串getZkHost () {   返回zkHost;   }   公共空间setZkHost(字符串zkHost) {   这一点。zkHost=zkHost;   }   之前      

配置SolrServer服务,具体代码如下:
  

        @ configuration   @EnableConfigurationProperties (SolrConfig.class)   公开课SolrClientConfig {   @ autowired   私人SolrConfig SolrConfig;   私人CloudSolrServer solrServer;   @PreDestroy   公共空间close () {   如果这一点。solrServer !=null) {   尝试{   this.solrServer.close ();   }捕捉(IOException e) {   e.printStackTrace ();   }   }   }   @ bean   公共CloudSolrServer SolrServer () {   如果(StringUtils.hasText (this.solrConfig.getZkHost ())) {   solrServer=new CloudSolrServer (this.solrConfig.getZkHost ());   solrServer.setDefaultCollection (this.solrConfig.getDefaultCollection ());   }   返回this.solrServer;   }   }   之前      

测试solr查询,具体代码如下:
  

        @RestController   公开课HelloController {      @ autowired   私人CloudSolrServer solrserver;         公共字符串hello () {   返回“打招呼”;   }   @RequestMapping(“测试”)   公共空白测试(){      ModifiableSolrParams params=new ModifiableSolrParams ();   params.add(“问”、“演示:素文宅博客”);   params.add (“ws”、“json”);   params.add(“开始”、“0”);   params.add(“行”,“10”);   QueryResponse响应=零;      尝试{   响应=solrserver.query (params);   SolrDocumentList结果=response.getResults ();   (SolrDocument文档:结果){   system . out。println (document.getFieldValue(“演示”));   System.out.println (document.getFieldValue (" id "));   }   }捕捉(异常e) {   e.getStackTrace ();   }   System.out.println (response.toString ());   }   }   之前      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

弹簧引导集成瑞安搜索客户端的实现代码