170112、solr从服务器配置整合到项目实战
整合网上资源后 100%可运行的配合步骤,部署在tomcat 为例。
一:下载solr,版本为5.2.1
地址:http://pan.baidu.com/s/1eRAdk3o
解压出来。
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
<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>
2.测试代码
SolrTest.java
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);
}
}
}
举例简单测试代码。更多操作查看官网或百度即可。
转自:http://www.cnblogs.com/mangyang/p/5500852.html
如有侵权,请告知,24小时之内删除...
170112、solr从服务器配置整合到项目实战的更多相关文章
- springBoot 整合 mybatis 项目实战
二.springBoot 整合 mybatis 项目实战 前言 上一篇文章开始了我们的springboot序篇,我们配置了mysql数据库,但是我们sql语句直接写在controller中并且使用 ...
- 二、springBoot 整合 mybatis 项目实战
前言 上一篇文章开始了我们的springboot序篇,我们配置了mysql数据库,但是我们sql语句直接写在controller中并且使用的是jdbcTemplate.项目中肯定不会这样使用,上篇文章 ...
- 【Java EE 学习 67 下】【OA项目练习】【SSH整合JBPM工作流】【JBPM项目实战】
一.SSH整合JBPM JBPM基础见http://www.cnblogs.com/kuangdaoyizhimei/p/4981551.html 现在将要实现SSH和JBPM的整合. 1.添加jar ...
- Solr集群、KI分词、项目实战
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善 ...
- 项目实战8—tomcat企业级Web应用服务器配置与会话保持
tomcat企业级Web应用服务器配置与实战 环境背景:公司业务经过长期发展,有了很大突破,已经实现盈利,现公司要求加强技术架构应用功能和安全性以及开始向企业应用.移动APP等领域延伸,此时原来开发w ...
- 转:手把手教你如何玩转Solr(包含项目实战)
原文地址:手把手教你如何玩转Solr(包含项目实战) 参考原文
- 项目实战8.1—tomcat企业级Web应用服务器配置与会话保持
分类: Linux架构篇 tomcat企业级Web应用服务器配置与实战 环境背景:公司业务经过长期发展,有了很大突破,已经实现盈利,现公司要求加强技术架构应用功能和安全性以及开始向企业应用.移动A ...
- 15套java架构师、集群、高可用、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩展. ...
- 15套java互联网架构师、高并发、集群、负载均衡、高可用、数据库设计、缓存、性能优化、大型分布式 项目实战视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展 ...
随机推荐
- java获取程序执行时间
第一种是以毫秒为单位计算的. //伪代码 long startTime=System.currentTimeMillis(); //获取开始时间 doSomeThing(); //测试的代码段 lon ...
- Guess the Array
Guess the Array time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- Spring Boot 系列教程1-HelloWorld
入门 如果你用过Spring JavaConfig的话,会发现虽然没有了xml配置的繁琐,但是使用各种注解导入也是很大的坑, 然后在使用一下Spring Boot,你会有一缕清风拂过的感觉, 真是爽的 ...
- scrollview上面的图片不上下滑动
self.automaticallyAdjustsScrollViewInsets= NO;
- KVO 进阶
Key-value coding (KVC) 和 key-value observing (KVO) 是两种能让我们驾驭 Objective-C 动态特性并简化代码的机制.在这篇文章里,我们将接触一些 ...
- ALAssetsLibrary 照片相关 浅析
ALAssetsLibrary 提供了访问iOS设备下”照片”应用下所有照片和视频的接口: 从 ALAssetsLibrary 中可读取所有的相册数据,即 ALAssetsGroup 对象列表: 从每 ...
- gulp相关知识(1)
这是一种简单的工具,非常容易上手而且功能也是多种多样. 例如将整个网站打包下来的时候,看到的js代码总是混乱的,这就是类似于gulp的工具进行了加密,其他的功能还有很多这里就不赘述了. 首先是gulp ...
- UVA - 437 The Tower of Babylon(dp-最长递增子序列)
每一个长方形都有六种放置形态,其实可以是三种,但是判断有点麻烦直接用六种了,然后按照底面积给这些形态排序,排序后就完全变成了LIS的问题.代码如下: #include<iostream> ...
- Java实现随意切换VPN改变上网地区
http://www.jb51.net/article/69267.htm 这篇文章主要介绍了Java实现随意切换VPN改变上网地区,本文直接给出实例代码,需要的朋友可以参考下 在很多情况下,有些网络 ...
- Javascript面向对象编程(二):构造函数的继承
这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例. 今天要介绍的是,对象之间的"继承"的五种方法. 比如,现在有一个" ...