Linux下安装使用Solr

1、首先下载Solr、mmseg4j分词包、tomcat并解压,这用google、百度都可以搜索得到下载地址。

2、因为要使用到中文分词,所以要设置编码,进入tomcat安装目录,使用vi修改confserver.xml配置

  1. <Connector port="8080" protocol="HTTP/1.1"
  2. connectionTimeout="20000"
  3. redirectPort="8443" URIEncoding="UTF-8"/>

增加 URIEncoding="UTF-8"设置编码为utf-8。

3、将下载的solr包下面dist文件夹中的apache-solr-*.war 拷贝到 tomcat的webapps 并且改名为 solr.war

cp /opt/apache-solr-3.6.1/dist/apache-solr-3.6.1.war /opt/apache-tomcat-6.0.35/webapps/solr.war

4、将下载的solr包下面example文件夹中的solr文件拷贝到/opt目录下

cp -r /opt/apache-solr-3.6.1/example/solr/ /opt

5、配置环境变量solr.home,使用vi修改/etc/profile,增加以下代码,配置永久变量,重启reboot

export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/opt/solr"

6、启动tomcat服务,然后访问http://127.0.0.1:8080/solr/

出现如下页面,表示配置成功

7、配置中文分词,将mmseg4j目录下的一个jar包复制到solr/WEB-INF/lib/目录下让solr使用,这里必须先运行一遍才会产生solr文件夹

cp /opt/mmseg4j/mmseg4j-all-1.8.3.jar /opt/apache-tomcat-6.0.35/webapps/solr/WEB-INF/lib/

8、配置中文词库

cp /opt/mmseg4j/data/words.dic /opt/solr/dic/

9、更改schema.xml (/opt/solr/conf/schema.xml) 文件,使分词器起到作用。

  1. <!--mmseg4j field types-->
  2. <fieldType name="textComplex" class="solr.TextField" positionIncrementGap="100" >
  3. <analyzer>
  4. <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="/opt/solr/dic"/>
  5. <filter class="solr.LowerCaseFilterFactory"/>
  6. </analyzer>
  7. </fieldType>
  8.  
  9. <fieldType name="textMaxWord" class="solr.TextField" positionIncrementGap="100" >
  10. <analyzer>
  11. <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="/opt/solr/dic"/>
  12. <filter class="solr.LowerCaseFilterFactory"/>
  13. </analyzer>
  14. </fieldType>
  15.  
  16. <fieldType name="textSimple" class="solr.TextField" positionIncrementGap="100" >
  17. <analyzer>
  18. <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="/opt/solr/dic"/>
  19. <filter class="solr.LowerCaseFilterFactory"/>
  20. </analyzer>
  21. </fieldType>

10、http://127.0.0.1:8080/solr/admin/analysis.jsp

点击Analyze查看分词效果

11、配置mysql数据库

首先要导入连接mysql的jar包mysql-connector-java-5.1.7-bin.jar

我是放在tomcat的lib目录下

touch /opt/solr/conf/mysql.xml

将下面内容写入mysql.xml中

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <dataConfig>
  3.  
  4. <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://10.10.150.116/travel_main" user="new_travel_u" password="123045"/>
  5.  
  6. <document name="user_core">
  7.  
  8. <entity name="user_core" query="select * from user_core" pk="userId"
  9. deltaQuery ="select userId from user_core where editTime > '${dataimporter.last_index_time}'">
  10. <field column="userId" name="id" />
  11. <field column="nickname" name="nickname" />
  12. </entity>
  13.  
  14. </document>
  15.  
  16. </dataConfig>

solrconfig.xml的<fields>必须有和数据库字段相对应的子元素,我这里新增了个nickname

<field name="nickname" type="string" indexed="true" stored="true" />

再配置solrconfig.xml文件,在<config>节点下新增一个节点

  1. <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
  2. <lst name="defaults">
  3. <str name="config">/opt/solr/conf/mysql.xml</str>
  4. </lst>
  5. </requestHandler>

再把<lib>标签的路径修改下,不然可能会找不到相应的jar包

  1. <lib dir="/opt/apache-solr-3.6.1/dist/" regex="apache-solr-cell-\d.*\.jar" />
  2. <lib dir="/opt/apache-solr-3.6.1/contrib/extraction/lib" regex=".*\.jar" />
  3.  
  4. <lib dir="/opt/apache-solr-3.6.1/dist/" regex="apache-solr-clustering-\d.*\.jar" />
  5. <lib dir="/opt/apache-solr-3.6.1/contrib/clustering/lib/" regex=".*\.jar" />
  6.  
  7. <lib dir="/opt/apache-solr-3.6.1/dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />
  8. <lib dir="/opt/apache-solr-3.6.1/contrib/dataimporthandler/lib/" regex=".*\.jar" />
  9.  
  10. <lib dir="/opt/apache-solr-3.6.1/dist/" regex="apache-solr-langid-\d.*\.jar" />
  11. <lib dir="/opt/apache-solr-3.6.1/contrib/langid/lib/" regex=".*\.jar" />
  12.  
  13. <lib dir="/opt/apache-solr-3.6.1/dist/" regex="apache-solr-velocity-\d.*\.jar" />
  14. <lib dir="/opt/apache-solr-3.6.1/contrib/velocity/lib" regex=".*\.jar" />

12、重启tomcat

/opt/apache-tomcat-6.0.35/bin/shutdown.sh
/opt/apache-tomcat-6.0.35/bin/startup.sh

13、浏览器输入网址

http://127.0.0.1:8080/solr/dataimport?command=full-import

新增全量索引,然后进入

http:// 127.0.0.1:8080/solr/admin/

查询便得出结果

可以定时调度增加增量索引

http:// 127.0.0.1:8080/solr/dataimport?command=delta-import

Linux下安装使用Solr的更多相关文章

  1. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...

  2. Linux下安装 Posgresql 并设置基本参数

    在Linux下安装Postgresql有二进制格式安装和源码安装两种安装方式,这里用的是二进制格式安装.各个版本的Linux都内置了Postgresql,所以可直接通过命令行安装便可.本文用的是Cen ...

  3. Linux下安装Tomcat服务器和部署Web应用

    一.上传Tomcat服务器

  4. Linux下安装tar.gz类型的jdk,并配置环境变量

    近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...

  5. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

  6. Linux下安装cmake

    cmake是一个跨平台的编译工具,特点是语句简单,编译高效,相对于原有的automake更为高效,接下来说明在Linux下安装cmake工具的过程 首先去cmake官网下载cmake安装包,下载界面网 ...

  7. linux下安装安装pcre-8.32

    linux下安装安装pcre-8.32 ./configure --prefix=/usr/local/pcre 出现以下错误 configure: error: You need a C++ com ...

  8. CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

    在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...

  9. Linux下安装Apache并以mod_wsgi方式部署django站点

    源码编译方式安装Apache 首先下载Apache源码压缩包,地址为http://mirror.bit.edu.cn/apache/httpd/ 继续下载apr和apr-util压缩包,地址为http ...

随机推荐

  1. ASP.NET WebAPi之断点续传下载(上)

    前言 之前一直感觉断点续传比较神秘,于是想去一探究竟,不知从何入手,以为就写写逻辑就行,结果搜索一番,还得了解相关http协议知识,又花了许久功夫去看http协议中有关断点续传知识,有时候发觉东西只有 ...

  2. Android之TextView的样式类Span的使用详解

           Android中的TextView是个显示文字的的UI类,在现实中的需求中,文字有各式各样的样式,TextView本身没有属性去设置实现,我们可以通过Android提供的 Spannab ...

  3. MySQL学习笔记十四:优化(1)

    SQL优化 1.查看各种SQL执行的频率 mysql> show status like 'Com_select';--Com_insert,Com_delete,connections(试图连 ...

  4. CentOS 7中如何安装mysql server

    以前一直用RHEL 6.3和6.4,系统盘里自带了mysql server,配置好yum源后,直接yum install mysql-server就可安装mysql服务器端了,最近用CentOS 7. ...

  5. swift 的高阶函数的使用代码

    //: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...

  6. 用CSS3动画,让页面动起来

    以前就听说过有个库,叫animate.css,但是自己并没有在实际项目中使用过,这次正好要做个招聘页面,得以利用一下这个库,在经常会卡顿的UC浏览器中也能流畅执行. 扫描下面的二维码,可以看到在线的d ...

  7. JS Div滚动,下拉框添加属性,年月日下拉条

    创建某一下拉菜单的项: str = str+"<option value='"+i+"'>"+i+"</option>&quo ...

  8. Mybatis 入门 -- 最简单的引入和使用

    参考:http://www.mybatis.org/mybatis-3/zh/getting-started.html 从今天开始学习官方文档. 1.项目搭建 项目结构: 首先,搭建一个maven项目 ...

  9. mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析

    一:SqlMapConfig.xml配置文件的内容和配置顺序如下 properties(属性) settings(全局配置参数) typeAiases(类型别名) typeHandlers(类型处理器 ...

  10. C#获得MAC地址(网卡序列号)代码

    代码如下: //获得网卡序列号 //MAc地址 http://www.cnblogs.com/sosoft/ public string GetMoAddress() { string MoAddre ...