170112、solr从服务器配置整合到项目实战

时间:2021-10-16 12:25:23

整合网上资源后 100%可运行的配合步骤,部署在tomcat 为例。

一:下载solr,版本为5.2.1

地址:http://pan.baidu.com/s/1eRAdk3o

解压出来。

1.在解压的文件夹路径: /server/webapps/solr.war

170112、solr从服务器配置整合到项目实战

2.放到 tomcat的 webapps 文件夹下(tomcat官网自行下载)

3.运行  bin/startup.bat,

http://localhost:8080/solr     可以访问。OK。

二、配置solr

1.进入tomcat下的项目路径:webapps/solr/WEB-INF/web.xml

编辑修改,大约40行左右

170112、solr从服务器配置整合到项目实战

2.取消掉注释,输入要存放的配置位置,并对应创建文件夹

3.把之前解压的文件夹打开: /server/solr ,文件夹下所有文件复制到我们新建的文件夹下

170112、solr从服务器配置整合到项目实战

170112、solr从服务器配置整合到项目实战

4. 复制解压的文件夹内 /server/lib/ext 下所有jar包 复制到 tomcat内 : /webapps/solr/WEB-INF/lib

170112、solr从服务器配置整合到项目实战

170112、solr从服务器配置整合到项目实战

5. 解压文件夹下  /server/resources/log4j.properties 复制到 tomcat内 : /webapps/solr/WEB-INF

170112、solr从服务器配置整合到项目实战

170112、solr从服务器配置整合到项目实战

6. 解压文件夹下 /dist/solr-dataimporthandler-5.2.1.jar 复制到 tomcat内 : /webapps/solr/WEB-INF/lib

170112、solr从服务器配置整合到项目实战

170112、solr从服务器配置整合到项目实战

配置完成。启动 http://localhost:8080/solr

170112、solr从服务器配置整合到项目实战
三、配置core

项目保持启动

1.解压文件夹下 /example/example-DIHsolr的 db文件夹 复制到我们创建的 solr_home 文件夹下

170112、solr从服务器配置整合到项目实战

170112、solr从服务器配置整合到项目实战

2.控制面板添加core。点击 core admin

170112、solr从服务器配置整合到项目实战

name和instanceDir 改成文件夹名。然后 Add Core

170112、solr从服务器配置整合到项目实战

配置完成!

四、新建项目调用测试。

1.新建一个maven 项目

pom.xml

170112、solr从服务器配置整合到项目实战
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.masz.solr</groupId>
<artifactId>solrj</artifactId>
<version>0.0.1-SNAPSHOT</version> <dependencies> <dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>5.0.0</version>
</dependency> <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.6</version>
</dependency> <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency> <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>compile</scope>
</dependency> </dependencies> </project>
170112、solr从服务器配置整合到项目实战

2.测试代码

SolrTest.java

170112、solr从服务器配置整合到项目实战
import java.io.IOException;

import org.apache.solr.client.solrj.SolrQuery;
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.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.junit.Before;
import org.junit.Test; public class SolrTest { private static final String URL = "http://127.0.0.1:8080/solr/db"; private HttpSolrClient server = null; @Before
public void init() {
// 创建 server
server = new HttpSolrClient(URL);
} @Test
public void addDoc() { SolrInputDocument doc = new SolrInputDocument(); 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);
}
} /**
* 查询
*/
@Test
public void testQuery() {
String queryStr = "*:*";
SolrQuery params = new SolrQuery(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);
}
}
}
170112、solr从服务器配置整合到项目实战

举例简单测试代码。更多操作查看官网或百度即可。

转自:http://www.cnblogs.com/mangyang/p/5500852.html

如有侵权,请告知,24小时之内删除...