solr与.net系列课程(一)solr的安装与配置

不久之前开发了一个项目,需要用到solr,因为所以在开始再网上查找资料,但是发现大部分的资料都是很片面的,要么就是只讲解solr如何安装的,要么就是只讲解solr的某一个部分的,而且很多都是资料都是一模一样的,一个人转载另一个人的,很难找到一个从solr配置,到与数据库连接在结合实际项目的,而且由于solr使用java开发的,所以现实中大多数的实例都是java版本的,.net版本的少之又少,所以一个.net开发人员在没有别人讲解的情况下学习solr是一件很吃力的事情,所以我想写出一个solr的系列教程,让一个没有solr基础的.net开发者,看我之后能能够知道solr原理,重要文件配置,大部分参数的意义,同时在.net项目中轻松使用.

什么是solr? 

那么在学习之前我们要了解一下什么是solr先看一下,官方的解释:

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML,Json等文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML,JSONd等格式的返回结果, Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

官方定义就说到这里,这种定义网上一堆一堆的而且都是一样的,想了解的朋友可以自己去百度,基本上都是一个版本的,所以就不浪费大家的时间了,下面说一说我对solr的理解:

solr是将数据库的数据通过一定的索引规则,转化成容易检索的本地文件,文件的后缀名为.fdt,然后我们通过solr去访问这些本地文件(这些都是由solr内部完成的),从而加快索引速度,solr是java编写的,所以需要运行在tomcat服务器上,我们可以通用http请求的方式去访问solr,并获取数据.

solr 到底能干什么?

solr主要是实现大数据的站内搜索的,举个例子吧,当有一张表有上千万数据时,有一个字段你存储的是文章,现在要求你找出文章内容带有"博客园"的数据,这时你怎么办,用like查询?,那估计得查到第二天,solr就可以很好的解决问题,用solr的方式查询,最多也就是1秒钟.优化做的好的话都是毫秒级的

在说一点题外话,solr其实主要是配置相应的文件,这对于很多.net程序员来说,很陌生,因为我们总是习惯使用现成的,封装好的东西来使用,久而久之,就容易变懒,一碰见稍微麻烦点的配置就觉得很难(这是很多.net程序员的通病),我之前再网上指导过一个想学solr的.net程序员,他上来就来个一句话,有没有现成的例子,给我一份,然后我说没有,说这个需要在tomcat中配置很多xml文件,实际与代码结合的其实非常的少,solr的大部分东西就是在配置上,然后这个程序员就几乎放弃了对solr学习,之后的就简单的说了几句谈话就结束了.

第一节我们来讲解solr的安装与配置(这个基本和其他人的都是一样的)

因为solr是用java 开发的,所以需要运行在tomcat中(无论是什么项目,.net的项目也要部署在tomcat,或者Nginx),那么第一步我们就要先安装jdk(这里我安装的的jdk1.7),与tomcat(选择的是tomcat7),这两个的安装就不在这里细讲了,网上一查一大堆

1.下载Tomcat与solr并解压(安装前先装jdk)

 Tomcat解压后磁盘路径为C:/Program Files/Apache Software Foundation/Tomcat 7.0(路径随意).

2.启动Tomcat服务器

浏览器输入: http://localhost:8080

这步操作是为了操作是为了在Tomcat/conf目录下生成Catalina/localhost目录,这个文件会在接下来使用.

3. 在官网上下载solr文件包 我这下载的是solr-4.7.2

将solr部署到Tomcat

a) 复制solr-4.7.2目录example/solr到Tomcat的根目录下

 b) 复制solr-4.7.2目录dist/solr-4.7.2.war到Tomcat的webapps/solr.war(重命名);

 c) 复制solr-4.7.2目录example/lib/ext下的所有jar到Tomcat的lib下,同时将example/resources下的log4j.properties文件也复制到Tomcat的lib下;

 d) 在Tomcat/conf/Catalina/localhost下创建solr.xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<Context docBase="webapps/solr.war" debug="0" crossContext="true">
  <Environment name="solr/home" type="java.lang.String" value="c:/Program Files/Apache Software Foundation /Tomcat7/solr" override="true"/>
</Context>

4.重新启动Tomcat服务器,在浏览器输入http://localhost:8080/solr 查看服务,出现如下界面就安装成功了.

安装IK分词器

1.http://code.google.com/p/ik-analyzer/downloads/detail?name=IK%20Analyzer%202012FF_hf1.zip&can=2&q=

2.复制下面ik分词解压包下面的如下三个文件到Tomcat7\webapps\solr\WEB-INF\lib\文件夹下面:

IKAnalyzer.cfg.xml、IKAnalyzer2012FF_u1.jar、stopword.dic

3.修改Tomcat7\solr\collection1\conf\文件夹下的schema.xml.在<types></types>

中增加如下内容:

  <!--配置IK分词器—name是名称 下面可以选择分词器-->
    <fieldType name="text_ik" class="solr.TextField">
        <!--索引时候的分词器-->
          <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
        <!--查询时候的分词器-->
        <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    </fieldType>

4.启动Tomcat,在浏览器中输入http://localhost:8080/solr ,在页面左侧菜单中选择Core为collection1,点击Analysis(漏斗形状)菜单,在右侧页面Filed Value文本框中输入要测试分词的中文串.

5.在Field Value下方,Analyse FieldName/FieldType中选择text_ik(我这里起的名字是 text_cn),然后点击左侧Analyze Value按钮,就能看到分词结果。

效果图如下:

ok以上就是solr的安装,这只是第一步,它还依然什么也做不了,下节我们将讲解solr的配置文件.

时间: 2024-10-15 10:56:57

solr与.net系列课程(一)solr的安装与配置的相关文章

solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据

solr与.net系列课程(四)solr查询参数的讲解与.net如何获取solr数据 上一节我们完成了solr连接数据库,细心的朋友会发现一个问题,就是solr其实和语言没有任何关系,配置完成后任何语言都可以直接调用,本章我们主要对solr的查询做出讲解,然后就是新接触的人最关心的.net如何获取solr中的数据. 本节我准备了一个300万左右的数据表,为大家做演示 然后我们开始配置schema.xml 文件: <field name="id" type="string

solr与.net系列课程(七)solr主从复制

solr与.net系列课程(七)solr主从复制    既然solr是解决大量数据全文索引的方案,由于高并发的问题,我们就要考虑solr的负载均衡了,solr提供非常简单的主从复制的配置方法,那么下面我们就来配置一下solr的主从复制 假设我们在192.168.0.8与192.168.0.9两台服务器上部署了solr服务,192.168.0.8作为主服务器,192.168.0.9作为从服务器, 首先配置主服务器找到C:\Program Files\Apache Software Foundati

solr与.net系列课程(二)solr的配置文件及其含义

 solr与.net系列课程(二)solr的配置文件及其含义  本节内容还是不会涉及到.net与数据库的内容,但是不要着急,这都是学时solr必学要掌握的东西,solr可不是像其他的dll文件一样,只需要引用就能调出方法与数据的,你不配置好是无法使用,前两节主要是起铺垫作用的,看起来会很枯燥无味的. 本章节内容是为下一节连接数据库做准备的,单拿出来看的话,会让人很迷糊,没关系,就当提前预习了,知道有这么个东西就行了,等下一节结合数据库后就好理解了 上一节我们已经完成了solr的基本配置,这里我们

solr与.net系列课程(八)solr中重跑索引的注意事项

solr与.net系列课程(八)solr中重跑索引的注意事项 我们如果在项目中使用solr,那肯定就是把数据库中的数据跑进solr服务器中,solr有两种操作一种是新建索引,一种是增量索引,这里我们来说一说新建索引的一下注意事项 终止跑索引                  http://192.168.0.9:8080/solr/collection1/dataimport?command=abort 开始索引                     http://192.168.0.9:80

solr与.net系列课程(六)solr定时增量索引与安全

 solr与.net系列课程(六)solr定时增量索引与安全 solr增量索引的方式,就是一个Http请求,但是这样的请求显然不能满足要求,我们需要的是一个自动的增量索引,solr官方提供了一个定时器实例,来完成增量索引, 首先下载 apache-solr-dataimportscheduler-1.0.jar,下载地址:http://solr-dataimport-scheduler.googlecode.com/files/apache-solr-dataimportscheduler-1.

solr与.net系列课程(三)solr连接数据库

 solr与.net系列课程(三)solr连接数据库 上一章直接讲述的配置文件把大部分人看的很迷惑,大家都想听的是solr到底是怎么用的,好,这一节我们就开始链接数据库,首先讲一下连接之前都要配置哪些文件 1.先下载连接sqlserver的驱动(sqljdbc4.jar)sqljdbc4.jar,),将其复制到C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\solr\WEB-INF\lib (C:\Program Fi

solr与.net系列课程(九)solr5.1的配置

solr与.net系列课程(九)solr5.1的配置 最近一些园友来咨询solr5.1的配置方式,然后我就去官网下载了个最新版本的solr,发现solr5.0以后solr的下载包里的内容发生的变化,移除和添加了一些文件,这就导致solr的初始配置不一样了,导致一些园友学习solr时不得不下载以前的solr版本进行学习,为了与时俱进不被淘汰,所以的就在这里加一篇solr5.1的配置方式,希望大家少走一些弯路. 1.下载Tomcat与solr并解压(安装前先装jdk) Tomcat解压后磁盘路径为C

solr与.net系列课程(五)solrnet的使用

 solr与.net系列课程(五)solrnet的使用 最近因项目比较忙,所以这篇文章出的比较晚,离上一篇文章已经有半个月的时间了,这节课我们来学下一下solr的.net客户端solrnet 出处  https://github.com/mausch/SolrNet 上一篇文章讲述了C#是如何请求和接受solr的数据的,请求链接是自己拼接的,接受数据是使用数据契约,solrnet就是把这些步骤封装起来,大家直接调用方法就可以请求和接受数据 首先要下载solrnet所要使用的DLL Microso

【CI】系列二:Ubuntu环境虚拟机安装及配置

好了,做好了初步计划之后,如果可行性没问题,就可以开始实践了. 准备前提:VirtualBox.ubunut镜像 如果没有,可以通过如下地址下载,安装过程此处不做描述. VirtualBox 4.3.12 for Windows hosts:http://download.virtualbox.org/virtualbox/4.3.12/VirtualBox-4.3.12-93733-Win.exe ubuntu-14.04-desktop-amd64.iso:http://mirrors.hu