ssm+redis+solr小例子

Eclipse Mars Release (4.5.0)
jdk1.8
redis服務3.0
solr服務6.5.1
mysql
pom文件,這是我從另一個小項目裏面複製出來的 關鍵的jar都有註釋的

<!-- 添加Servlet支持 -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>
    <!-- 添加jsp支持 -->
    <dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.3.1</version>
</dependency>
    <!-- 添加jtl支持 -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <!-- 添加Spring支持 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.1.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>4.1.7.RELEASE</version>
    </dependency>
    <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-tx</artifactId>
         <version>4.1.7.RELEASE</version>
        </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.1.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>4.1.7.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.1.7.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.1.7.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>4.1.7.RELEASE</version>
    </dependency>

<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.2</version>
</dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aspects</artifactId>
        <version>4.1.7.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>4.1.7.RELEASE</version>
    </dependency>
      <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.2.3</version>
    </dependency>
    <!-- 添加日誌支持 -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

    <!-- 添加mybatis支持 -->
     <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.3.0</version>
    </dependency>


    <!-- jdbc驅動包  -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.37</version>
    </dependency>

    <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-core</artifactId>
        <version>1.2.4</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.12</version>
    </dependency>

    <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-web</artifactId>
        <version>1.2.4</version>
    </dependency>

    <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-spring</artifactId>
        <version>1.2.4</version>
    </dependency>

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-excelant</artifactId>
<version>3.9</version>
</dependency>   
<!-- slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.21</version>
</dependency>
<!--添加solr支持-->
        <dependency>
    <groupId>org.apache.solr</groupId>
    <artifactId>solr-solrj</artifactId>
    <version>6.5.1</version>
</dependency>
<dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
</dependency>

redis支持的jar包
這裏寫圖片描述
目錄結構
這裏寫圖片描述
每個包最後的名字對應的包作用

package cn.ssmsr.service.impl;

import java.io.IOException;

import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrQuery.ORDER;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;

import cn.ssmsr.po.Jd;
import cn.ssmsr.service.Searchservice;

public class jdproductsearch implements Searchservice{
    private static final String URL="http://172.16.163.203:8080/solr/jd_core"; //solr服務器地址
    private static HttpSolrClient solrClient = null;
    private void init(){
        solrClient = new HttpSolrClient.Builder(URL).build();
        solrClient.setConnectionTimeout(3000);
        }
    /**
     * 傳入關鍵字查詢索引 
     */
    public SolrDocumentList Searchproduct(String keyword){
        init();
        SolrQuery query=new SolrQuery();
        //排序規則
        query.addSort("id",ORDER.asc);
        //從什麼id開始
        query.setStart(0);
        //要顯多少條記錄
        query.setRows(100);
        //查詢關鍵字
        query.set("q","title:"+keyword);
        //是否高亮(好像不太管用)
        query.setHighlight(true);  
        query.addHighlightField("title"); 
        query.setHighlightSimplePre("<font color='red'>"); 
        query.setHighlightSimplePost("</font>"); 
        SolrDocumentList solrDocumentList=null;
        try {
            //查詢
            QueryResponse response = solrClient.query(query);
            //返回索引文本集合
             solrDocumentList = response.getResults();
             /*for (SolrDocument doc : solrDocumentList) {
                 System.out.println(doc.get("id"));
             }*/
        } catch (SolrServerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
        return solrDocumentList;
    }
    /**
     * 根據查詢刪除文檔
     */
    public void queryDeleteDoc(String id){
        init();
        try {
            //根據id刪除索引文檔
            solrClient.deleteByQuery("id:"+id);
            solrClient.commit();
        } catch (SolrServerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    /**
     * 添加索引文本
     */
    public void addDoc(Jd jd){
        init();
        SolrInputDocument sd=new SolrInputDocument();
        sd.addField("id", jd.getId());
        sd.addField("title", jd.getTitle());
        sd.addField("link",jd.getLink());
        sd.addField("price", jd.getPrice());
        sd.addField("comment", jd.getComment());
        sd.addField("goodcomment", jd.getGoodcomment());
        sd.addField("poorcountstr", jd.getPoorcountstr());
        sd.addField("aftercount", jd.getAftercount());
        try {
            //添加對象爲索引
            solrClient.add(sd);
            solrClient.commit();
        } catch (SolrServerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

不知道怎麼寫了感覺什麼都要寫又感覺什麼都不用寫;要看的到
https://github.com/394356808/SolrRedissolrdemo/tree/master/src/main/java/cn/ssmsr/controller看吧我把代碼放上了,操作redis的類我複製別人的,爲了尊重別人的勞動成果我就沒刪註釋了;如有侵權的地方希望聯繫我刪除 該怎麼寫歡迎大家提意見我重新寫寫發上來

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章