zoukankan      html  css  js  c++  java
  • SpringBoot整合Spring Data Solr

    此文不讲solr相关,只讲整合,内容清单如下

    1. maven依赖坐标

    2. application.properties配置

    3. Java Config配置

    
    

    1. maven坐标

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-solr</artifactId>
    </dependency>


    2. application.properties配置

    注意,这里的 spring.data.solr.core 不是框架提供的,在idea中会提醒

    # solr
    spring.data.solr.host=http://localhost:8080/solr
    spring.data.solr.core=collection1

    3. Java Config配置

    这里主要是配置一下SolrTemplate,默认情况下 solr的starter是不提供这个bean的。

    注意的地方就是HttpSolrServer要导对包

    import org.apache.solr.client.solrj.impl.HttpSolrServer;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.data.solr.core.SolrTemplate;
    import org.springframework.data.solr.core.convert.SolrJConverter;


    @Configuration
    public class SolrConfig {
    @Value("${spring.data.solr.host}")
    private String solrHost;

    @Value("${spring.data.solr.core}")
    private String solrCore;

    /**
    * 配置SolrTemplate
    */
    @Bean
    public SolrTemplate solrTemplate() {
    HttpSolrServer solrServer = new HttpSolrServer(solrHost);
    SolrTemplate template = new SolrTemplate(solrServer);
    template.setSolrCore(solrCore);
    // 2018-03-12晚更新,此处不需要加这句话,反而加了之后会导致solr域和实体类字段不同名时,导致无法将值映射到实体类字段中,此时会抛出异常,所以这里不需要加下面这句话
    // template.setSolrConverter(new SolrJConverter());
    return template;
    }
    }
    
    
  • 相关阅读:
    notepad++ remove duplicate line
    notepad++ $ ^
    中文名: 交通事故责任认定, 英文名称: Traffic accident responsibility identification
    java 反射 获取Class对象的三种方式
    [转]java中byte转换int时为何与0xff进行与运算
    java中byte取值范围为什么是 -128到127
    bytes2HexString
    DBCS 从256开始
    android开发之使用拼音搜索汉字
    电脑故障,路由器及网络
  • 原文地址:https://www.cnblogs.com/kazetotori/p/8549458.html
Copyright © 2011-2022 走看看