• 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);
            }
        }
    }
    复制代码

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

  • 相关阅读:
    c#Socket通讯
    LeetCode 836. 矩形重叠
    AOP之SpringAOP、AspectJ、CGlib
    Springboot启动流程,跟着源码看看启动的时候都做了什么
    Mybatis/Mybatis plus/Hibernate如何忽略指定的字段不与数据库映射
    LeetCode 206. 反转链表
    LeetCode 1071. 字符串的最大公因子
    LeetCode 994. 腐烂的橘子
    Java生鲜电商平台-监控模块的设计与架构
    Java生鲜电商平台-售后模块的设计与架构
  • 原文地址:https://www.cnblogs.com/joyous-day/p/7085885.html
Copyright © 2020-2023  润新知