.Net程序员 Solr-5.3之旅 (一)Solr入门
引言
君子生非异也,善假于物也。
Java和.Net哪个好,我们也不需要打口水战,我认为语言只是我们达到目的的工具而已,某个业务场景哪个顺手用哪个(包括除此两种以外的所有语言),当然要精通一门语言是很难的事情,需要我们持之以恒。
Lunece是什么?
Lucene是当前以及最近几年最受欢迎的免费Java信息检索程序库。
Lunece也是有.Net版本的---Lucene.Net,
为什么我没有使用.Net版本的呢?你怎么知道我没有用.....当前Lucene.Net版本到3.03,传说这个项目已经被停掉了,所以后面Lucene所具有的新功能都不会再有跟进了(比如Join、分组等等...)。
所以我没得选择,最终还是选择了原生态的Lunece
Solr是什么
一开始我也是发下大宏愿要基于Lunece去写一个搜索引擎(认真看了百科的就知道Lunece不是搜索引擎,只是信息检索程序库),索引初始化、索引同步、索引查询、权重设置等等,我已经部署好Eclipse、TomCat、并去官网下载了最新的Lunece5.3
经过几天的摸索之后我偶然的发现了Solr这个好东西,这是基于Lucene的全文搜索服务器。非常好使
环境搭建
废话不多说,我们开始我们Solr之旅的第一步:环境搭建
1.Eclipse 下载:http://www.eclipse.org/downloads/download.php?file=/oomph/epp/mars/R1a/eclipse-inst-win64.exe(我的环境是Win7-64位)
2.Java-JDK8.0下载 http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-windows-x64.exe?AuthParam=1446687554_926c8d0bd88689df9fd551dd67501a8a 同样的Win7-64位环境
3.Tomcat8 (相当于.Net的IIS) http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.28/bin/apache-tomcat-8.0.28-windows-x64.zip
以上工具都下载安装之后,需要配置环境变量,如何配置的文章网上很多,乏善可陈
由于我也是Java的新手,多年.Net的经验对于我这样的Java新手来说作用不大,所以我下载的版本都是最新的版本,后来才知道由于开源的问题,版本太多,各种插件的更新速度根本跟不上Java的更新版本
所以很多人、企业都还是用的很低的版本,这一点上.Net程序员们倒是省心了很多,全部都是.Net制定的规则......
环境搭建之变量配置
Tomcat的安装跟网上其他的资料都差不多,乏善可陈,Windows版本就是配置一些环境变量。
由于我的是最新版本,所以网上找的许多的环境变量配置方法有些许出入,下面是我的配置,其中的值中的路径你需要按照你自己的路径配置
1.变量名:JAVA_HOME 值:C:\Program Files\Java\jdk1.8.0_65
2.变量名:CATALINA_HOME 值:C:\apache-tomcat-8.0.28
2.变量名:TOMCAT_HOME 值:C:\apache-tomcat-8.0.28\bin
3.变量名:CLASS_PATH 值:.;%JAVA_HOME%\lib;%TOMCAT_HOME%\BIN;%CATALINA_HOME%\common\lib\servlet.jar
4.变量名:Path 值:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
其中%%之间的值就是引用已经有的变量名的地址
PS:CATALINA_HOME和TOMCAT_HOME 应该就是版本不同步的原因吧,很多应用还是引用的TOMCAT_HOME而最新的TOMCAT8却是用的CATALINA_HOME
Tomcat简单配置
1.为了不让Tomcat默认访问端口8080、80...占用我常用的端口,于是我修改了apache-tomcat-8.0.28\conf\server.xml下的所有端口以90开头,如9080
打开http://localhost:9080/,当然以你自己的配置端口为准。可以看到如下界面

2.点击Manager App管理App发现需要输入密码,这个是在apache-tomcat-8.0.28\conf\tomcat-users.xml文件中配置,然后输入tomcat 密码tomcat就可以登录后端管理界面了。

XML贴出来方便复制:

<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager-gui,admin-gui"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
结尾
这篇博文就先介绍这么多,Solr的配置,我们下篇再讲,一篇博文太长可能会让你感觉很累,学习也需要节奏(高手直接无视此句)。
.Net程序员 Solr-5.3之旅 (一)Solr入门的更多相关文章
- GitHub这么火,程序员你不学学吗? 超简单入门教程 【转载】
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub. 本文章由做全栈攻城狮-写代码也要读书,爱全栈,更爱生活.原创.如有转载,请注明出处. GitHub是什么? GitHub首先是个分布式 ...
- 写给嵌入式程序员的循环冗余校验(CRC)算法入门引导
写给嵌入式程序员的循环冗余校验(CRC)算法入门引导 http://blog.csdn.net/liyuanbhu/article/details/7882789 前言 CRC校验(循环冗余校验)是数 ...
- .Net程序员玩转Android系列之一~Java快速入门
前言 前段时间受公司业务发展需要,探索性进入Android开发领域.一切从零开始,java基础,Java进阶,Android框架学习,Eclipse熟悉,最终到第一个即时通讯App完成,历经一个月的时 ...
- Java程序员必备后台前端框架--Layui【从入门到实战】(一)
layui入门使用及图标的使用 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] [编程工具:IDEA] 下载Layui与文件分析 下载直接去官网下载即可 文件分析 下载完成后,解压会 ...
- GitHub这么火,程序员你不学学吗? 超简单入门教程 干货
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub. 本文章由做全栈攻城狮-写代码也要读书,爱全栈,更爱生活.原创.如有转载,请注明出处. GitHub是什么? GitHub首先是个分布式 ...
- 程序员必需知道的Chrome使用技巧(入门篇)
浏览器版本 Chrome Canary 新增一些没有经过Google工程师的测试或使用的浏览器功能版本.Chrome Dev让大多数开发人员主要使用此版本来测试对浏览器的重大版本功能版本.Chrome ...
- Java程序员必备后台前端框架--Layui【从入门到实战】(二)
layui使用 导航菜单.选项卡 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] [编程工具:IDEA] 导航菜单 在layui官网中示例中,我们可以找到关于导航的例子: 我们点击查 ...
- 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...
- [置顶]
AI大行其道,你准备好了吗?—谨送给徘徊于转行AI的程序员
前言 近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个IT界.所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无不在布 ...
随机推荐
- python学习的一些感悟
首先声明,这里用到的库是在coursera上学习时,老师建立的一个库 #timer import simplegui import random # global state message = &q ...
- Node.js包(JXcore)
Node.js的代码是开放的,并准备好被复制像任何其他Javascript代码.但现在它不可能的了.JXcore 这是一个开源项目,引入了包装和源文件和其他资源加密成JX包一个独特的功能. 考虑大型项 ...
- jquery禁用右键、文本选择功能、刷新
//禁用右键.文本选择功能.刷新 $(document).bind(“contextmenu”,function(){return false;}); $(document).bind(“select ...
- Linux企业级开发技术(4)——epoll企业级开发之epoll例程
为了使大家更加深入了解epoll模型在企业应用中的使用,下面给出一段基于epoll的服务器代码,并在代码中添加了详细注释: #include <deque> #include <ma ...
- 【转】Android 菜单(OptionMenu)大全 建立你自己的菜单--不错
原文网址:http://www.cnblogs.com/salam/archive/2011/04/04/2005329.html 菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中, ...
- 扩展KMP模板
注意:需要用特殊符号隔开 1 struct ExKmp{ void Init(){ memset(f,,sizeof(f)); memset(r,,sizeof(r)); } void Get_Fai ...
- oracle 表查询(1)
oracle 表基本查询 介绍在我们讲解的过程中我们利用scott 用户存在的几张表(emp,dept)为大家演示如何使用select语句,select 语句在软件编程中非常有用,希望大家好好的掌握. ...
- Oracle中使用profile管理用户口令
概述:profile 是口令限制,资源限制的命令集合,当建立数据库的,oracle 会自动建立名称为default 的profile.当建立用户没有指定profile 选项,那么oracle 就会将d ...
- C数组的相关知识
数组的定义:具有相同数据类型的集合.在内存中开辟连续的存贮空间,从上往下,依次存储 补充:内存是以字节位单位的存储空间,内存中的每一个字节都唯一对应一个编号.这个编号就是地址.只要是存在内存中的数据都 ...
- Vagrant虚拟机的配置管理
Vagrant虚拟机的配置管理 一.shell配置管理 二.使用Puppet进行配置管理 三.案例 Apache服务器的自动配置 3.1 shell配置管理 3.2 puppet配置管理 ps:由于最 ...