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架构师.集群.高可用.高可扩 展 ...
随机推荐
- Windows快捷键大全(从XP到win8.1)
常见用法 F1 显示当前程序或者windows的帮助内容. F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的时候是打开“查找:所有文件” 对话框 F5 刷新 F10或ALT 激活当 ...
- 使用runloop阻塞线程的正确写法
使用runloop阻塞线程的正确写法 runloop可以阻塞线程,等待其他线程执行后再执行. 比如: @implementation ViewController{ BOOL end;}…– ( ...
- Android中获取网络数据时的分页加载
//此实在Fragment中实现的,黄色部分为自动加载,红色部分是需要注意的和手动加载, 蓝色部分是睡眠时间,自我感觉不用写 ,还有就是手动加载时,不知道为什么进去后显示的就是最后一行,求大神 ...
- windows程序设计(四)
对话框常用相关消息映射函数: 一.对话框初始化消息: 1.WM_CREATE:通用窗口初始化消息 窗口还未显示出来,只有父窗口,子窗口还没创建 2.WM_INITDIALOG:对话框窗口专用消息 子窗 ...
- Python基础学习3---数据结构
数据结构 数据结构基本上就是---他们是可以处理数据的结构或者说他们是用来存储一组相关数据的. 在python中有三种内建的数据结构-----列表.元组和字典 列表(list) 列表就像是我们要去超市 ...
- leetcode202(Floyd判圈算法(龟兔赛跑算法))
Write an algorithm to determine if a number is "happy". 写出一个算法确定一个数是不是快乐数. A happy number ...
- 为什么做Web开发要选择PHP
大部分互联网公司做WEb开发都选择PHP,PHP的优势在哪?你应该知道的 以前偶尔被人问到,为什么你(和大部分互联网公司)做Web开发要选择PHP, PHP有什么好处.简单的回答便是“PHP简单,开发 ...
- ubuntu 解压 windows 生成的 zip 文件乱码问题
在windows上压缩的文件,是以系统默认编码中文来压缩文件.由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码. 有两种方式解决问题:(建议采用方法 ...
- Base64笔记
1. 昨天的<MIME笔记>中提到,MIME主要使用两种编码转换方式----Quoted-printable和Base64----将8位的非英语字符转化为7位的ASCII字符. 虽然这样的 ...
- 模态对话框 bootstrap-modal.js
调用方式 通过data属性 无需编写JavaScript代码即可生成一个对话框.在一个主控元素,例如按钮,上设置data-toggle="modal",然后再设置data-targ ...