本文记录的是solr在win下安装配置使用的过程,最后将solr部署到Linux上通过远程访问。下一篇文章会介绍   solr集群搭建(SolrCloud)    的安装!

  Solr是基于Lucene的全文检索服务器,性能进行了优化。运行在jetty、tomcat这些web容器中。而Lucene只是一个jar包,不能对外提供服务。在安装之前我们要先搞清楚下面两个问题。

一:Solr是如何实现全文检索的

  索引流程

  Solr客户端(浏览器、java程序)可以向solr服务器发送post请求,请求内容是包含Field等信息的一个xml文档, 通过该文档可以对索引进行维护。

  搜索流程

  Solr客户端(浏览器、java程序)可以向solr服务器发送get请求,solr服务器返回一个xml文档。

二:Solrhome和SoleCore

  SolreHome是solr服务运行的主目录,一个solrhome目录里面包含多个SoleCore。一个SolrCore包含一个Solr实例运行时所需的配置文件和数据文件。Solrcore可以单独对外搜索和索引提供服务,彼此间没有半毛钱的关系。Home和core的关系好比,数据库连接和数据库的关系,自己体会。

  对solr有个大致的认识后我们就要开始安装了~~

  准备工具:    1. solr      2. IK Analyzer中文分词器      3. 一个干净的tomcat

  安装步骤:    1. 安装solr               2.配置中文分词

安装步骤:

  1.1 解压安装文件

  1.2  复制solr.war到tomcat的webapps下; 然后解压为solr文件夹,并删除该solr.war文件。

  1.3 把solr的lib文件夹中的5个扩展包复制到tomcat的lib文件夹里面

  1.4 在tomcat文件夹下面创建mysolrhome文件夹, 并且将solr-4.10-3中的solrhome文件全部复制过来。  

  1.5 指定solrhome的路径。

  1.6 启动tomcat     输入    localhost:8080/solr    能看到solr首页就说明已经配置成功了。   如果启动tomcat闪退,是因为tomcat找不到jdk路径,需要修改下startup.bat文件(自行百度)

  solr启动成功后,我们如图搜一句话,会发现它默认的分词规则是一个汉字就是一个词,比如秘密是个词语就不应该分开,下面我们来配置一些扩展信息吧!

  2.1 复制IKAnalyzer2012FF_u1.jar到solr的lib文件夹;  复制3个配置文件到solr的classes文件夹

  2.2 自定义分词规则

    <!-- 自定义分词规则 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<!--name: 好比数据库列名
type: 字段类型,类型必须是该文件中存在的(例如我们刚刚自定义的那个分词规则name_ik
indexed:开启索引(例如imgurl我们只是展示不需要搜索,就可以设置为false)
stored: 是否要存储该字段
required:是否必须字段
docValues:文档值
multiValued:是否可以多值,存储多个值,数组存储:商品大图、中图、小图 -->
<field name="item_goodsid" type="long" indexed="true" stored="true"/>
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="double" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category" type="string" indexed="true" stored="true" />
<field name="item_seller" type="text_ik" indexed="true" stored="true" />
<field name="item_brand" type="string" indexed="true" stored="true" /> <!--copyField: 复制域,比如我搜索一个词汇,它可能是商品名可能是店铺名。
我就需要另外自定义一个字段,把商品名和店铺名和它关联起来。
这里的item_keywords就是我们自定义的字段,source就是源字段,dest就是复制域字段。-->
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_category" dest="item_keywords"/>
<copyField source="item_seller" dest="item_keywords"/>
<copyField source="item_brand" dest="item_keywords"/> <!--dynamicField:动态域。
例如:有的商品有屏幕尺寸,有的商品有规格大小,这些属性是不固定的,
我们就可以用动态域来指定。-->
<dynamicField name="item_spec_*" type="string" indexed="true" stored="true" />

  此时重启tomcat   选择我们刚才自定义的分词规则,发现中文分词就配置成功了!

将solr部署到linux中:

  1.  创建文件夹             mkdir /usr/local/wulei/solr

  2. 把刚配置好的solr压缩为zip文件,上传到该文件夹 。

  3. 解压   unzip tomcat7.zip

  4. 编辑配置文件     vim tomcat7/webapps/solr/WEB-INF/web.xml

   修改solrhome地址      /usr/local/wulei/solr/tomcat7/mysolrhome

  5. 修改成功略过这一步  (楼主这里没有权限,所以在wulei/目录下设置下权限    chmod -R 777 solr    然后重新编辑。)

  6. cd tomcat7/bin/                 ./startup.sh       浏览器输入  ip:8080/solr  测试。

  7. 【测试】  若启动成功而浏览器不能访问, 可能要关闭防火墙。   service firewalld stop

===============================================

扩展知识:   在IKAnalyzer.cfg.xml中配置扩展词和停止词 (不配也行,没任何影响,了解下就就够了)

Solr安装(单机版)的更多相关文章

  1. solr安装-tomcat+solrCloud构建稳健solr集群

    solrCloud的搭建可以有两种方式:使用solr内嵌的jetty来搭建:使用外部web容器tomcat来搭建.对于使用jett来搭建参考solr官方的手册照着做肯定ok,下面我主要讲的是如何使用t ...

  2. Ranger安装部署 - solr安装

    1. 概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Lucene为基础实现的文本检索应用服务.Solr部署方式有单机方式.多机Master-Slaver方法. ...

  3. solr 安装

    1:solr简介 solr是一个开源的搜索引擎,是对lucene做了封装,对外提供类似于webservice接口, 可以使用http请求的方式对solr进行操作. lucene.solr.elasti ...

  4. 03 Apache Solr: 安装和运行

         前面介绍了Solr在项目中的使用和构建高度可用.高度可扩展的Solr服务器的一些想法.但是光说不练假把式,现在开始,把Solr运行起来继续深入了解吧! 安装 安装JAVA Apache So ...

  5. solr安装笔记与定时器任务

    一:solr启动 目前solr最高版本为5.5.0版本,很多solr安装都是说将server文件copy到tomcat中,但是solr版本自带有jetty的启动方式 首先下载solr-5.5.0版本, ...

  6. Solr安装过程

    Solr安装过程 下载相关资料 solr 4.2.0 http://lucene.apache.org/solr/ 期间安装过 solr 4.3.0 很可惜没有配置成功 apache-tomcat-7 ...

  7. Solr安装入门、查询详解

    Solr安装入门:http://www.importnew.com/12607.html 查询详解:http://www.360doc.com/content/14/0306/18/203871_35 ...

  8. Lucene/Solr搜索引擎开发笔记 - 第2章 Solr安装与部署(Tomcat篇)

    一.安装环境 图1-1 Tomcat和Solr的版本 我本机目前使用的Java版本为JDK 1.8,因为Solr 4.9要求Java版本为1.7+,请注意. 二.Solr部署到Tomcat流程 图1- ...

  9. 【Solr初探】Solr安装,启动,查询,索引

    1. 安装&启动 官网:http://lucene.apache.org/solr/ 下载源代码,解压,进入根目录(我把solr放在/usr/local/solr下) 在/usr/local/ ...

随机推荐

  1. ASP.NET如何实现断点续传的上传、下载功能?

    1 背景 用户本地有一份txt或者csv文件,无论是从业务数据库导出.还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工.挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通 ...

  2. JUnit——assertThat(acture,matcher)

    使用hamcrest之前需要引入相关的jar包,包括hamcrest-core.1.3.jar和hamcrest-library-1.3.jar. 具体引入的方法为:右击JUnit工程——build ...

  3. sh_06_女友的节日

    sh_06_女友的节日 # 定义 holiday_name 字符串变量记录节日名称 holiday_name = "生日" # 如果是 情人节 应该 买玫瑰/看电影 if holi ...

  4. sqli-labs(18)

    开始挑战第十八关(Header Injection - Uagent field - Error based) 常见的HTTP注入点产生位置为[Referer].[X-Forwarded-For].[ ...

  5. [LeetCode]-DataBase-Department Highest Salary

    The Employee table holds all employees. Every employee has an Id, a salary, and there is also a colu ...

  6. QPS、TPS、PV、UV、GMV、IP、RPS

    摘自:https://www.citrons.cn/jishu/226.html 关于 QPS.TPS.PV.UV.GMV.IP.RPS 这些词语,看起来好像挺专业.但实际上,我认为是这是每个程序员必 ...

  7. Oracle Mysql MSSql 三种数据库 随机查询 条 语句

    1. Oracle,随机查询查询语句-20条 select * from (  select  *  from 表名 order by dbms_random.value ) where rownum ...

  8. 十二、RF自定义库(数据库)

    1.自定义第三方库 def DB_select_by_sql(self,db_name,sql): conn=pymysql.connect(db=db_name,user='root',passwo ...

  9. 编写Python脚本把sqlAlchemy对象转换成dict的教程

    编写Python脚本把sqlAlchemy对象转换成dict的教程 在用sqlAlchemy写web应用的时候,经常会用json进行通信,跟json最接近的对象就是dict,有时候操作dict也会比操 ...

  10. 旅游局nginx配置

    #user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/error.log notice;#error_l ...