首先搭建solr环境,如:solr6.0学习(一)环境搭建

修改各种配置文件。

1、修改solrhome下的solr.xml文件

注解掉zookeeper搭建集群配置,我们后面会采用master-slave的形式。

至于zookeeper的形式可以阅读以下这篇文章【solrCloud集群配置指导】:http://www.aboutyun.com/thread-9432-1-1.html

  1. <!-- 结合zookeeper配置solrColound start -->
  2. <!-- 采用master-slave的方式
  3. <solrcloud>
  4. <str name="host">${host:}</str>
  5. <int name="hostPort">${jetty.port:8983}</int>
  6. <str name="hostContext">${hostContext:solr}</str>
  7. <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  8. <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
  9. <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
  10. <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>
  11. </solrcloud>
  12. <shardHandlerFactory name="shardHandlerFactory"
  13. class="HttpShardHandlerFactory">
  14. <int name="socketTimeout">${socketTimeout:600000}</int>
  15. <int name="connTimeout">${connTimeout:60000}</int>
  16. </shardHandlerFactory>
  17. -->
  18. <!-- 结合zookeeper配置solrColound end -->

2、在sorlhome文件夹下创建【my_solr】文件夹。

3、在【my_solr】文件夹中添加core.properties配置,内容如下:

  1. name=my_solr

这个name的值实际上就core的名称,可以任意命名,为了保证统一和方便阅读,个人觉得最好和文件夹名称一致。

4、将【solr-6.0.0\example\example-DIH\solr\solr】下的conf文件夹拷贝到【my_solr】文件夹下。包含如下文件:

【conf】中文件目录如下:

5、solr-5.0 以上默认对schema的管理是使用managed-schema,不能手动修改,需要使用Schema Restful的API操作。

如果要想手动修改配置,把【conf】文件夹中managed-schema拷贝一份修改为schema.xml,在solrconfig.xml中修改如下:

  1. <codecFactory class="solr.SchemaCodecFactory"/>
  2. <!-- 解除managed-schema管理模式 start -->
  3. <schemaFactory class="ClassicIndexSchemaFactory"/>
  4. <!-- 解除managed-schema管理模式 end -->

重启tomcat8,可能会报错,查看tomcat日志发现,比喻:

缺少DataImportHandler的jar等,那么将【solr-6.0.0\dist】下的solr-dataimporthandler-6.0.0.jar和solr-dataimporthandler-extras-6.0.0.jar

拷贝到【apache-tomcat-8.0.33\webapps\solr\WEB-INF\lib】下。

重启tomcat8。如果缺少其他jar包,根据报错信息添加即可。没有异常,

访问:【http://localhost:8080/solr/index.html#/】

会出现如下界面:

选择my_solr,会出现如下界面:

至此其实由于没有索引数据,其实solr是个空壳,那么下面写一个应用程序插入solr索引数据。

参考:http://www.open-open.com/lib/view/open1452062296995.html

1、首先需要修改schema.xml文件,添加

  1. <field name="content_test" type="text_general" indexed="true" stored="true" multiValued="true"/>

field的属性和配置,可以google一下schema.xml 说明很多,用法也很多,这里就不赘述。

2、添加索引数据,代码如下:

编写过程中可能会报错,最简便的方法是将web-inf下lib里所有jar包添加进来,然后运行,出什么错,就添加什么jar包即可。

  1. package com.solr.insertData;
  2. import java.io.IOException;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import org.apache.solr.client.solrj.SolrClient;
  6. import org.apache.solr.client.solrj.SolrServerException;
  7. import org.apache.solr.client.solrj.impl.HttpSolrClient;
  8. import org.apache.solr.common.SolrInputDocument;
  9. public class InsertProgarm {
  10. //solr 服务器地址
  11. public static final String solrServerUrl = "http://localhost:8080/solr";
  12. //solrhome下的core
  13. public static final String solrCroeHome = "my_solr";
  14. //待索引、查询字段
  15. public static String[] docs = {"Solr是一个独立的企业级搜索应用服务器",
  16. "它对外提供类似于Web-service的API接口",
  17. "用户可以通过http请求",
  18. "向搜索引擎服务器提交一定格式的XML文件生成索引",
  19. "也可以通过Http Get操作提出查找请求",
  20. "并得到XML格式的返回结果"};
  21. public static void main(String[] args) {
  22. SolrClient client = getSolrClient();
  23. int i=0;
  24. List<SolrInputDocument> solrDocs = new ArrayList<SolrInputDocument>();
  25. for (String content : docs) {
  26. SolrInputDocument doc = new SolrInputDocument();
  27. doc.addField("id", i++);
  28. doc.addField("content_test", content);
  29. solrDocs.add(doc);
  30. }
  31. try {
  32. client.add(solrDocs);
  33. client.commit();
  34. } catch (SolrServerException e) {
  35. // TODO Auto-generated catch block
  36. e.printStackTrace();
  37. } catch (IOException e) {
  38. // TODO Auto-generated catch block
  39. e.printStackTrace();
  40. }
  41. }
  42. public static SolrClient getSolrClient(){
  43. return new HttpSolrClient(solrServerUrl+"/"+solrCroeHome);
  44. }
  45. }

3、运行成功后,会在【solrhome/my_solr】文件夹下创建一个【data】的文件夹,这个文件夹中的内容就是我们的solr索引。

其实其对于的是solconfig.xml中如下配置:

  1. <!-- Data Directory
  2. Used to specify an alternate directory to hold all index data
  3. other than the default ./data under the Solr home.  If
  4. replication is in use, this should match the replication
  5. configuration.
  6. -->
  7. <dataDir>${solr.data.dir:}</dataDir>

4、访问http://localhost:8080/solr/index.html选择【my_solr】core,选择query得到如下界面:

红色区域是针对不同的ui,因为浏览器版本问题,我这里面选择使用【Use original
UI
】,会跳转到http://localhost:8080/solr/old.html#/

选择【my_solr】core,选择query,点击【Execute Query】查询结果如下:

其实其访问的url实际为:http://localhost:8080/solr/my_solr/select?q=*%3A*&wt=json&indent=true

至于q、wt、indent等参数,代表的含义,可以搜索solr查询语法。

那么至此,我们就将solr插件完毕,结合了core和创建索引、查询程序,完成!

搭建windows的solr6服务器(二)的更多相关文章

  1. 搭建windows的solr6服务器

    准备工作: 目前最新版本6.0.下载solr 6.0:Solr6.0下载 JDK8 下载jdk1.8:jdk1.8[solr6.0是基于jdk8开发的] tomcat8.0 下载:tomcat8 ## ...

  2. Git-gitblit-Tortoisegit 搭建Windows Git本地服务器

    1.Gitblit安装 1.1.Gitblit简介 Git在版本控制领域可谓是深受程序员喜爱.对于开源的项目,可以免费托管到GitHub上面,相当的方便.但是私有项目托管到GitHub会收取相当昂贵的 ...

  3. office web apps 部署-搭建office web apps服务器

    二.搭建office web apps服务器 相关文件可以去焰尾迭分享的百度网盘下载,下载地址:http://pan.baidu.com/s/1o6tCo8y#path=%252Foffice%252 ...

  4. Windows下Git服务器搭建[转]

    Windows下Git服务器搭建   作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 ...

  5. 搭建Windows SVN服务器及TortoiseSVN使用帮助和下载

    搭建Windows SVN服务器: 用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行 ...

  6. 本地windows下搭建git的本地服务器

    本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H: ...

  7. Windows平台下搭建自己的Git服务器

    该文章转自:http://www.codeceo.com/article/windows-git-server.html Gitblit 是一个纯 Java 库用来管理.查看和处理 Git 资料库,相 ...

  8. Windows下SVN服务器搭建方法整理(apache)

    http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...

  9. 使用Gitblit 搭建Windows Git服务器

    使用Gitblit 搭建Windows Git服务器 整理使用Gitblit搭建Git服务器的步骤. 目录 使用Gitblit 搭建Windows Git服务器 目录 下载安装 配置 运行 客户端运行 ...

随机推荐

  1. 20145225 《Java程序设计》第2周学习总结

    20145225<Java程序设计> 第2周学习总结 教材学习内容总结 3.1.1Java的类型 分为基本类型(Primitive type)和类类型(Class type) 基本类型: ...

  2. 【Java】XML解析之JDOM

    JDOM介绍 JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析.生成.序列化以及多种操作.使用jdom需要引入jdom.jar包. XML生成及解析 代码如下: pac ...

  3. PHP 数组排序

    数组中的元素能够以字母或数字顺序进行升序或降序排序. PHP - 数组的排序函数 在本节中,我们将学习如下 PHP 数组排序函数: sort() - 以升序对数组排序 rsort() - 以降序对数组 ...

  4. homework 15 2016 6 2 模板

    #include<iostream>#include<cmath>#include<cstdio> using namespace std; template &l ...

  5. JavaScript-hash数组for in 函数

    什么是数组:内存中,连续存储多个数据的存储空间,再起一个名字为什么; 为什么:现实存储多个相关数据,都是集中存储,共同一个名字 程序=数据结构+算法 好的数据结构可以极大的提高程序的执行效率 何时使用 ...

  6. 利用SET STATISTICS IO和SET STATISTICS TIME 优化SQL Server查询性能

    首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET ...

  7. Restful风格API接口开发springMVC篇

    Restful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机 ...

  8. Hibernate配置文件与映射文件的创建

    1. config文件的创建: 内容: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hib ...

  9. iOS URL 编码

    一.iOS 中的NSURL编码 iOS 中,NSURL 的基本样式是 scheme://username:password@host:port/path?query#fragment RFC 1738 ...

  10. zlib的安装

    wget http://www.zlib.net/zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure mak ...