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);
        }
    }
}

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

 

时间: 2024-10-25 07:38:38

solr从服务器配置整合到项目实战的相关文章

重磅回归-SSM整合进阶项目实战之个人博客系统

历经一个多月的重新设计,需求分析以及前后端开发,终于有了一定的输出:我自己实现的spring4+springmvc+mybatis3整合的进阶项目实战-个人博客系统 已然完成了,系统采用mvc三层模式进行整体的开发,涉及到技术一下子很难全部列出,其中不得不提的有:整合shiro实现登录安全认证,整合lucene实现全文信息检索,基于Spring的事件驱动模型实现业务服务模块之间的异步解耦(在RabbitMQ视频教程中我也会重提这个技术点!),爬虫框架Jsoup解析html文本中的图片,整合ued

java架构师课程、性能调优、高并发、tomcat负载均衡、大型电商项目实战、高可用、高可扩展、数据库架构设计、Solr集群与应用、分布式实战、主从复制、高可用集群、大数据

15套Java架构师详情 * { font-family: "Microsoft YaHei" !important } h1 { background-color: #006; color: #FF0 } 15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  clo

大型分布式项目项目实战Springmvc+Spring+Mybatis+Maven+CMS+Redis+Solr+Linux+Nginx+单点登录、分布式缓存、负载均衡视频课程

* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat

下载快速上手数据挖掘之solr搜索引擎高级教程(Solr集群、KI分词、项目实战)

Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎. 快速上手数据挖掘之solr搜索引擎高级教程(Solr集群.KI分词.项目实战),刚刚入手,转一注册文件,视频的确不错,可以先下载看看:http://pan.baidu.com/s/1jIdgtWM 密码:s1t3

Solr集群、KI分词、项目实战

Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎. 讲师本人之前在互联网大数据.国家水电数据中心方面的项目时,对海量数据的查询和检索都采用了solr的集群服务,达到高效的实时搜索效果,为满足越来越多大数据人才的需求,特意整理录制成视频,适合各层次学员学习本视频的知识点,当然课程中的知识点大家一看也就知道

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&项目实战

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&项目实战 推荐给大家一套企业实战项目开发的教程. 课程包含了以下主要的技术面:前端采用Extjs4.x:后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作流引擎. 课程经由基础学习向高阶跨进,一步一步介绍了前后台的关系,以及前后台的整合.JBPM的整合等等,都是属于目前较为重要的技术点. 咨询QQ:1609173918 课程大纲: 第1讲:课程概要_Extjs入门: 第2讲:Grid与Store的应用

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&amp;项目实战(HR项目开发、SSH2作为框架)

对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:ANDY 课程分类:Java 适合人群:中级 课时数量:46课时 用到技术:Extjs.SSH2.Mvc 涉及项目:HR项目用户管理.Extjs树形结构.流程接口 更新程度:完成 课程包含了以下主要的技术面:前端采用Extjs4.x:后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作流引擎.课程经由基础学习向高阶跨进,一步一步介绍了前后台的关系,以及前后台的整合.JBPM的整合等等,都是属于目前较

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&amp;项目实战

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&项目实战(HR项目开发.SSH2作为框架) 对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:ANDY 课程分类:Java 适合人群:中级 课时数量:46课时 用到技术:Extjs.SSH2.Mvc 涉及项目:HR项目用户管理.Extjs树形结构.流程接口 更新程度:完成 课程包含了以下主要的技术面:前端采用Extjs4.x:后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作

Unity3D-RPG项目实战(3):整合Visual Studio 2013开发环境

古人云:工欲善其事必先利其器,IDE虽然属于一个非常上层的工具,但是一个好的IDE对工作效率提高还是很大的. 其实我还是满想用一下官方推荐的Mono,毕竟跨平台现在还是很重要的一个特性.尝试了这1周,作为一个从VC5就开始抱MS大腿的老屌丝程序员,实在怀念Visual Studio.话说还是Visual Studio的代码编辑器好用啊. 另外,今天看到消息称,开发Unity的VS整合工具的SyntaxTree已经被微软收购了,UnityVS以后都免费啦,哈哈.今天试了一把,还是满好的.:) 详见