sorl 5.3 环境搭建以及DEMO测试

环境配置原文:http://jingyan.baidu.com/article/d8072ac4625b07ec95cefdbe.html

java测试代码原文:http://www.tuicool.com/articles/uAzQnaz

环境准备

solr下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/5.3.0

solr 5.3,jdk1.7  tomcat7.0

ps:搭建环境时需要注意  solr5.X对应的是jdk1.7,solr6.X对应的是jdk1.8,如果未对应则有可能出现访问404和访问solr主页时一直加载中,展示不完整。

第一步:

将 solr 压缩包中 solr-5.3.0/ D:\solr-5.3.0\server\solr-webapp\文件夹下有个webapp文件夹,将之复制到Tomcat\webapps\目录下,并改成solr (名字随意,通过浏览器进行访问solr管理界面时要用到)

第二步:

将 solr 压缩包中 solr-5.3.0\server\lib\ext 中的 jar 全部复制到 Tomcat\ webapps\solr\WEB-INF\lib 目录中

第三步:

将 solr 压缩包中 solr-5.3.0/ server/resources /log4j.properties 复制到Tomcat\ webapps\solr\WEB-INF\lib 目录中

第四步:

将 solr 压缩包中 solr-5.3.0/server/solr 目录复制到计算机某个目录下,如D:\solr_home

第五步:

打开Tomcat/webapps/solr/WEB-INF下的web.xml,找到如下配置内容(初始状态下该内容是被注释掉的):

       solr/home

       /put/your/solr/home/here

       java.lang.String

中的内容改成你的solr_home路径,这里是D:/solr_home

第六步:

保存关闭,而后启动tomcat,在浏览器输入http://localhost:8080/solr即可出现Solr的管理界面


配置solr Code

(1)在solr_home目录下新建文件夹,如code1(这个名称需要在solr管理控制台配置使用)

(2)把solr-5.3.0\server\solr\configsets\basic_configs下的conf拷贝到solr_home新建的目录也就是code1

(3)在slor控制台配置

sorl 5.3 环境搭建以及DEMO测试_第1张图片
name:code1  instanceDir:code1

java 代码
jar包:solr-solrj

package org.pro.service;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.common.SolrInputDocument;


/**
 * Unit test for simple App.
 */
public class SolrTest{ 
	
	private static final String SOLR_URL = "http://localhost:8080/solr/code1";
	
	public static void main(String[] args){
		AddDocs();
	}
	
	
	
	  public static void AddDocs() {
		    String[] words = { "中央全面深化改革领导小组", "第四次会议", "审议了国企薪酬制度改革", "考试招生制度改革",
		        "传统媒体与新媒体融合等", "相关内容文件", "习近平强调要", "逐步规范国有企业收入分配秩序",
		        "实现薪酬水平适当", "结构合理、管理规范、监督有效", "对不合理的偏高", "过高收入进行调整",
		        "深化考试招生制度改革", "总的目标是形成分类考试", "综合评价", "多元录取的考试招生模式", "健全促进公平",
		        "科学选才", "监督有力的体制机制", "着力打造一批形态多样", "手段先进", "具有竞争力的新型主流媒体",
		        "建成几家拥有强大实力和传播力", "公信力", "影响力的新型媒体集团" };
		    long start = System.currentTimeMillis();
		    Collection docs = new ArrayList();
		    for (int i = 1; i < 300; i++) {
		      SolrInputDocument doc1 = new SolrInputDocument();
		      doc1.addField("id", "id" + i, 1.0f);
		      doc1.addField("url", words[i % 21], 1.0f);
		      docs.add(doc1);
		    }
		    try {
		      HttpSolrServer server = new HttpSolrServer(SOLR_URL);
		      // 可以通过三种方式增加docs,其中server.add(docs.iterator())效率最高
		      // 增加后通过执行commit函数commit (936ms)
//					 server.add(docs);
//					 server.commit();

		      // 增加doc后立即commit (946ms)
//					 UpdateRequest req = new UpdateRequest();
//					 req.setAction(ACTION.COMMIT, false, false);
//					 req.add(docs);
//					 UpdateResponse rsp = req.process(server);

		      // the most optimal way of updating all your docs 
		      // in one http request(432ms)
		      server.add(docs.iterator());
		    } catch (Exception e) {
		      System.out.println(e);
		    }
		    System.out.println("time elapsed(ms):"
		        + (System.currentTimeMillis() - start));
		  }

		  public static void delDocs() {
		    long start = System.currentTimeMillis();
		    try {
		      HttpSolrServer server = new HttpSolrServer(SOLR_URL);
		      List ids = new ArrayList();
		      for (int i = 1; i < 300; i++) {
		        ids.add("id" + i);
		      }
		      server.deleteById(ids);
		      server.commit();
		    } catch (Exception e) {
		      System.out.println(e);
		    }
		    System.out.println("time elapsed(ms):"
		        + (System.currentTimeMillis() - start));
		  }
		}

ps:
 doc1.addField("id", "id" + i, 1.0f);
 doc1.addField("url", words[i % 21], 1.0f);
此处id与url 需要在\code1\conf\schema.xml 进行配置

sorl 5.3 环境搭建以及DEMO测试_第2张图片

配置完成后重启Tomcat

访问solr控制台 query :

sorl 5.3 环境搭建以及DEMO测试_第3张图片

solr默认是精确查找,如需模糊匹配 如q=url*第四*


你可能感兴趣的:(javaweb)