专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

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

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 1:04:56       共计:3586 浏览

不久之前开发了一个项目,需要用到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(solr-4.7.2.war重命名为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的配置文件.



版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:solr与.net系列课程(二)solr的配置文件及其含义 | ·下一条:Blazor Server访问Identity Server 4单点登录

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有