整合网上资源后 100%可运行的配合步骤,部署在tomcat 为例。
一:下载solr,版本为5.2.1
解压出来。
1.在解压的文件夹路径: /server/webapps/solr.war
2.放到 tomcat的 webapps 文件夹下(tomcat官网自行下载)
3.运行 bin/startup.bat,
http://localhost:8080/solr 可以访问。OK。
二、配置solr
1.进入tomcat下的项目路径:webapps/solr/WEB-INF/web.xml
编辑修改,大约40行左右
2.取消掉注释,输入要存放的配置位置,并对应创建文件夹
3.把之前解压的文件夹打开: /server/solr ,文件夹下所有文件复制到我们新建的文件夹下
4. 复制解压的文件夹内 /server/lib/ext 下所有jar包 复制到 tomcat内 : /webapps/solr/WEB-INF/lib
5. 解压文件夹下 /server/resources/log4j.properties 复制到 tomcat内 : /webapps/solr/WEB-INF
6. 解压文件夹下 /dist/solr-dataimporthandler-5.2.1.jar 复制到 tomcat内 : /webapps/solr/WEB-INF/lib
配置完成。启动 http://localhost:8080/solr
三、配置core
项目保持启动
1.解压文件夹下 /example/example-DIHsolr的 db文件夹 复制到我们创建的 solr_home 文件夹下
2.控制面板添加core。点击 core admin
name和instanceDir 改成文件夹名。然后 Add Core
配置完成!
四、新建项目调用测试。
1.新建一个maven 项目
pom.xml
4.0.0
com.masz.solr
solrj
0.0.1-SNAPSHOT
org.apache.solr
solr-solrj
5.0.0
org.slf4j
slf4j-simple
1.5.6
javax.servlet
servlet-api
2.5
log4j
log4j
1.2.16
commons-logging
commons-logging
1.2
junit
junit
4.9
compile
2.测试代码
SolrTest.java
importjava.io.IOException;importorg.apache.solr.client.solrj.SolrQuery;importorg.apache.solr.client.solrj.SolrServerException;importorg.apache.solr.client.solrj.impl.HttpSolrClient;importorg.apache.solr.client.solrj.response.QueryResponse;importorg.apache.solr.client.solrj.response.UpdateResponse;importorg.apache.solr.common.SolrDocument;importorg.apache.solr.common.SolrDocumentList;importorg.apache.solr.common.SolrInputDocument;importorg.junit.Before;importorg.junit.Test;public classSolrTest {private static final String URL = "http://127.0.0.1:8080/solr/db";private HttpSolrClient server = null;
@Beforepublic voidinit() {//创建 server
server = newHttpSolrClient(URL);
}
@Testpublic voidaddDoc() {
SolrInputDocument doc= newSolrInputDocument();
doc.addField("id", "this is id");
doc.addField("title", "this is document");try{
UpdateResponse response=server.add(doc);//提交
server.commit();
System.out.println("########## Query Time :" +response.getQTime());
System.out.println("########## Elapsed Time :" +response.getElapsedTime());
System.out.println("########## Status :" +response.getStatus());
}catch (SolrServerException |IOException e) {
System.err.print(e);
}
}/*** 查询*/@Testpublic voidtestQuery() {
String queryStr= "*:*";
SolrQuery params= newSolrQuery(queryStr);
params.set("rows", 10);try{
QueryResponse response= null;
response=server.query(params);
SolrDocumentList list=response.getResults();
System.out.println("########### 总共 : " + list.getNumFound() + "条记录");for(SolrDocument doc : list) {
System.out.println("######### id : " + doc.get("id") + " title : " + doc.get("title"));
}
}catch(SolrServerException e) {
System.err.print(e);
}
}
}
举例简单测试代码。更多操作查看官网或百度即可。