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的類我複製別人的,爲了尊重別人的勞動成果我就沒刪註釋了;如有侵權的地方希望聯繫我刪除 該怎麼寫歡迎大家提意見我重新寫寫發上來