前言

前前后后接触Solr有一个多月了,想趁着学习Solr顺便把java拾起来。我分别用4.X和5.X版本在windows环境下用jetty的方式、tomcat部署的方式自己搭建了一把。其中从4.x到5.x和6.x的变化还是有的。搭建起来Solr后我分别用调用http接口的方式、SolrNet实现了索引的增删改查,在使用SolrNet开发时发现查询时不时的还报错,不知道是不是因为Solr的版本太高。  在学习Solr的过程中参考几位师傅的博客,从搭建平台、创建索引、搜索索引数据、中文分词都了解了一些,后面会把这些都整理出来。 文章最后我会贴出链接。

Solr搭建工作

1、下载solr windows安装包。这里我用的是5.5.1。下载完成后解压缩。 5.X版本中example包含几个入门的非结构化文件:csv、json、xml。可通过post.jar命令导入以便如入门。部署的话则要用到server

2、安装tomcat8。把solr-5.5.1/server/solr-webapp文件夹下的webapp目录复制拷贝到Tomcat/webapps文件夹内并重命名webapp目录名为solr

3、把solr-5.5.1/server/lib/ext中的jar包复制到Tomcat/webapps/solr/WEB-INF/lib目录中。

4、在任意盘符新建solr_home文件夹(我在D盘创建)。把solr-5.5.1/server/solr目录复制到solr_home下。这个目录也就是后面你创建索引实例Core需要用到的目录。配置文件(schema.xml)和索引都保存在这里。

5、把solr-5.5.1/server/resources下的log4j.properties复制到Tomcat/webapps/solr/WEB-INF/classes目录内。如果classes不存在手动创建。

6、配置web.xml。打开Tomcat/webapps/solr/WEB-INF下的web.xml。找到如下配置内容

<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

放开注释,并修改env-entry-value为你的solr_home地址。我的地址是d:/solr_home/solr

OK。保存。顺便重启下tomcat。然后在浏览器输入http://localhost:8080/solr/index.html。 刚开始我配置完后直接输入http://localhost:8080/solr 回车提示404. 4.x部署这样是能打开的,5.x必须输入到index.html。 出现下图则说明你的solr Admin UI搞定了。

创建Core

5.x没有了默认的Core,需要自己配置。在d:/solr_home/solr创建Core目录,我起名univeral并把d:/solr_home/solr/configsets目录内的conf目录复制进去并创建data文件夹,conf放配置文件,data放索引数据(index data)。打开Admin UI 左侧有Core Admin。 把表单中的name和instanceDir输入univeral。 然后点击【Add Core】

小试牛刀之创建索引

在Admin UI中选择左下方的Core Selector找到你刚才创建的universal实例。点击展开菜单。选择documents。

注意:当你点击【Submit Document】按钮时会提示你Field title不存在,这是因为你的schema.xml没配置这个字段。在d:/solr_home/solr/univeral/conf下找到managed-schema(老版本是schema.xml),打开配置field字段。

右侧出现Status:success则说明索引创建成功.

小试牛刀之搜索

在Solr Admin UI 左侧Core实例菜单中点击Query。默认q=*:*查询全部。 solr查询使用的http get接口。包括字段筛选、关键字查询、高亮、facet(垂直分片查询)都在get路径里输入参数。

总结

刚开始摸索Solr,有很多东西搞的还不是很清楚,后面我想基于.net和java把创建索引、搜索接口、中文分词这块都做一做。 下面是我学习过程中参考的博客

http://martin3000.iteye.com/blog/1330106

http://www.cnblogs.com/zhangweizhong/p/5044858.html

http://blog.csdn.net/qing419925094/article/category/2357449

windows环境tomcat8配置Solr5.5.1的更多相关文章

  1. 【经验之谈】Windows环境下配置WordPress

    前言 wordpress全球著名的开放博客平台,拥有成千上万个各式插件和不计其数的主题模板样式,使用php和mysql搭建,下面说下载windows环境下配置wordpress,经验之谈. 安装 关于 ...

  2. windows环境下配置tornado

    1.前言        在网上看过一些在windows下配置tornado的教程,有一些写的十分复杂,让人望而生却.然后我就自己试着在windows下面配置tornado.我发现,方法非常简单,短短几 ...

  3. 【经验之谈】Git使用之Windows环境下配置

    前言 安装 配置 关于git使用的几个问题 后记 关于代码托管,以前用过vss和svn,看博客或论坛的时候,经常有人提到github,有很多著名的开源软件都托管在github,想来肯定不错(莫笑),当 ...

  4. (转)【经验之谈】Git使用之Windows环境下配置

    原文地址:http://www.cnblogs.com/xishuai/p/3590434.html 前言 安装 配置 关于git使用的几个问题 后记 关于代码托管,以前用过vss和svn,看博客或论 ...

  5. linux环境下配置solr5.3详细步骤

    本人上周五刚刚配置了一遍centos下配置solr5.3版本,综合借鉴并改进了一些教程,贴出如下 单位使用内网,本教程暂无截图,抱歉 另,本人是使用.net编程调用solr的使用的是solrnet,在 ...

  6. Tomcat之Windows环境下配置多个服务器

    在应对多项目多端口的情况配置一个服务器是远不能满足开发条件的.例如微信公众号回调域名只接受80端口,而其他项目一般为默认的8080或者自定义的其他的端口. 废话多说,直入主题 准备条件:tomcat文 ...

  7. Solr Windows环境安装配置

    在本章中,我们将讨论如何在Windows环境中设置Solr.要在Windows系统上安装Solr,需要按照以下步骤 - 访问Apache Solr的主页,然后点击下载按钮或直接访问:http://lu ...

  8. Git在Windows环境下配置Diff以及Merge工具---DiffMerge

    参考出处:http://coding4streetcred.com/blog/post/Configure-DiffMerge-for-Your-Git-DiffTool主要转自:http://blo ...

  9. Windows 环境下配置 git bash 的 HOME 默认路径

    0.引 在 windows 下安装 git 之后, git 默认的HOME和~路径一般都是C:\Users\用户名,每次得用命令切换到常用的Repository下,此操作重复而没有意义.为了修改默认路 ...

随机推荐

  1. Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...

  2. 6. ModelDriven拦截器、Preparable 拦截器

    1. 问题 Struts2 的 Action 我们将它定义为一个控制器,但是由于在 Action 中也可以来编写一些业务逻辑,也有人会在 Action 输入业务逻辑层. 但是在企业开发中,我们一般会将 ...

  3. [C#] 简单的 Helper 封装 -- SQLiteHelper

    using System; using System.Data; using System.Data.SQLite; namespace SqliteConsoleApp { /// <summ ...

  4. 使用mybatis-generator在自动生成Model类和Mapper文件

    使用mybatis-generator插件可以很轻松的实现mybatis的逆向工程,即,能通过表结构自动生成对应的java类及mapper文件,可以大大提高工作效率,并且它提供了很多自定义的设置可以应 ...

  5. VS2015使用scanf报错的解决方案

    1.在程序最前面加: #define _CRT_SECURE_NO_DEPRECATE 2.在程序最前面加: #pragma warning(disable:4996) 3.把scanf改为scanf ...

  6. Hibernate中事务的隔离级别设置

    Hibernate中事务的隔离级别,如下方法分别为1/2/4/8. 在Hibernate配置文件中设置,设置代码如下

  7. PHP设计模式(二)工厂方法模式(Factory Method For PHP)

    简单工厂简述: 简单工厂模式实现了生产产品类的代码跟客户端代码分离,在工厂类中你可以添加需要生成长跑的逻辑代码(new 产品类),但是问题来了,优秀的代码是符合"开闭原则"如果你要 ...

  8. Android系统默认对话框添加图片

    开发工具Android Studio 今天公司UI要求软件对话框改成加图片的,以前没有做过,所以就学习了一下,废话不多说, 看效果: 创建XML文件dialog_lsit_item.xml <L ...

  9. [OC] NSURLSession

    有的程序员老了,还没听过NSURLSession 有的程序员还嫩,没用过NSURLConnection 有的程序员很单纯,他只知道AFN. NSURLConnection在iOS9被宣布弃用,NSUR ...

  10. Android之文件数据存储

    一.文件保存数据介绍 Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的.文件可用来存放大量数据,如文本.图 ...