前言

solr是apach基于Lucene开发的成熟的框架,这里我们学习如何部署、使用。关于集群会在后面继续添加

linux部署

  1. mkdir /usr/local/solr && cd /usr/local/solr
  2. # 把tomcat、solr和IK分词器复制到当前目录
  3. wget http://archive.apache.org/dist/lucene/solr/4.10.3/solr-4.10.3.tgz
  4. wget http://124.202.164.13/files/208300000CA11C0C/mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.91/bin/apache-tomcat-7.0.91.tar.gz
  5. wget IK……
  6. # 处理tomcat
  7. tar -zxvf apache-tomcat-7.0.91.tar.gz
  8. mv apache-tomcat-7.0.91 tomcat
  9. # 处理solr
  10. tar -zxvf solr-4.10.3.tar
  11. # 处理解析器
  12. unzip IKAnalyzer2012FF_hf1.zip -d ./ik
  13. # 复制solr.war包到tomcat
  14. cp solr-4.10.3/example/webapps/solr.war tomcat/webapps
  15. /usr/local/solr/tomcat/bin/startup.sh
  16. /usr/local/solr/tomcat/bin/shutdown.sh
  17. rm tomcat/webapps/solr.war
  18. # 复制项目需要的jar包
  19. cp solr-4.10.3/example/lib/ext/* tomcat/webapps/solr/WEB-INF/lib
  20. # 复制出solr实例
  21. cp -r solr-4.10.3/example/solr ./
  22. mv solr solrhome
  23. # 配置
  24. vim tomcat/webapps/solr/WEB-INF/web.xml
  25. # 取消注释节点:env-entry,并修改value为:/usr/local/solr/solrhome

增加一个实例

  1. cp -r solrhome/collection1 solrhome/collection2
  2. vim solrhome/collection2/core.properties
  3. # 修改为collection2即可

配置中文分词器

  1. cp ik/IKAnalyzer2012FF_u1.jar tomcat/webapps/solr/WEB-INF/lib
  2. mkdir tomcat/webapps/solr/WEB-INF/classes
  3. cp ik/IKAnalyzer.cfg.xml tomcat/webapps/solr/WEB-INF/classes/
  4. cp ik/stopword.dic tomcat/webapps/solr/WEB-INF/classes/
  5. # 自定义扩展词典
  6. touch tomcat/webapps/solr/WEB-INF/classes/ext.dic
  7. vim tomcat/webapps/solr/WEB-INF/classes/IKAnalyzer.cfg.xml
  8. # 取消自定义扩展词典的注释
  9. # 配置一个使用分词器的域
  10. vim solrhome/collection1/conf/schema.xml
  11. <!-- IKAnalyzer-->
  12. <fieldType name="text_ik" class="solr.TextField">
  13. <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
  14. </fieldType>
  15. <!--IKAnalyzer Field-->
  16. <field name="content_ik" type="text_ik" indexed="true" stored="true" />

导入插件集成

  1. mkdir solrhome/collection1/lib
  2. cp solr-4.10.3/dist/solr-dataimporthandler-4.10.3.jar solrhome/collection1/lib/
  3. cp solr-4.10.3/dist/solr-dataimporthandler-extras-4.10.3.jar solrhome/collection1/lib/
  4. # 下载mysql的jar包到lib目录
  5. wget -P solrhome/collection1/lib/ https://raw.githubusercontent.com/tianyunperfect/jar_back/master/mysql-connector-java-5.1.32.jar
  6. vim solrhome/collection1/conf/solrconfig.xml
  7. # 添加:
  8. <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
  9. <lst name="defaults">
  10. <str name="config">data-config.xml</str>
  11. </lst>
  12. </requestHandler>
  13. # 配置插件的配置文件
  14. touch solrhome/collection1/conf/data-config.xml
  15. # 添加
  16. <?xml version="1.0" encoding="UTF-8" ?>
  17. <dataConfig>
  18. <dataSource type="JdbcDataSource"
  19. driver="com.mysql.jdbc.Driver"
  20. url="jdbc:mysql://192.168.148.92:3306/lucene"
  21. user="root"
  22. password="root"/>
  23. <document>
  24. <entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products ">
  25. <field column="pid" name="id"/>
  26. <field column="name" name="product_name"/>
  27. <field column="catalog_name" name="product_catalog_name"/>
  28. <field column="price" name="product_price"/>
  29. <field column="description" name="product_description"/>
  30. <field column="picture" name="product_picture"/>
  31. </entity>
  32. </document>
  33. </dataConfig>
  1. mysql -u root -p
  2. use mysql;
  3. grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
  4. flush privileges;

使用

配置

applicationContext-solr.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:solr="http://www.springframework.org/schema/data/solr"
  6. xsi:schemaLocation="http://www.springframework.org/schema/data/solr
  7. http://www.springframework.org/schema/data/solr/spring-solr-1.0.xsd
  8. http://www.springframework.org/schema/beans
  9. http://www.springframework.org/schema/beans/spring-beans.xsd
  10. http://www.springframework.org/schema/context
  11. http://www.springframework.org/schema/context/spring-context.xsd">
  12. <!-- solr服务器地址 -->
  13. <solr:solr-server id="solrServer" url="http://192.168.63.128:8080/solr" />
  14. <!-- solr模板,使用solr模板可对索引库进行CRUD的操作 -->
  15. <bean id="solrTemplate" class="org.springframework.data.solr.core.SolrTemplate">
  16. <constructor-arg ref="solrServer" />
  17. </bean>
  18. </beans>

使用

  1. @Autowired
  2. private SolrTemplate solrTemplate;
  3. solrTemplate.saveBeans(items);
  4. solrTemplate.commit();

solr学习笔记的更多相关文章

  1. Solr学习笔记之3、Solr dataimport - 从SQLServer导入数据建立索引

    Solr学习笔记之3.Solr导入SQLServer数据建立索引 一.下载MSSQLServer的JDBC驱动 下载:Microsoft JDBC Driver 4.0 for SQL Server ...

  2. Solr学习笔记之2、集成IK中文分词器

    Solr学习笔记之2.集成IK中文分词器 一.下载IK中文分词器 IK中文分词器 此文IK版本:IK Analyer 2012-FF hotfix 1 完整分发包 二.在Solr中集成IK中文分词器 ...

  3. Solr学习笔记之1、环境搭建

    Solr学习笔记之1.环境搭建 一.下载相关安装包 1.JDK 2.Tomcat 3.Solr 此文所用软件包版本如下: 操作系统:Win7 64位 JDK:jdk-7u25-windows-i586 ...

  4. Solr学习笔记之5、Component(组件)与Handler(处理器)学习

    Solr学习笔记之5.Component(组件)与Handler(处理器)学习 一.搜索篇 拼写检查(spellCheck) 作用:用来检查用户输入的检索内容是否存在,如果不存在则给它提示出相近或相似 ...

  5. Solr学习笔记之4、Solr配置文件简介

    Solr学习笔记之4.Solr配置文件简介 摘自<Solr in Action>. 1. solr.xml – Defines one or more cores per Solr ser ...

  6. solr学习笔记-入门

    solr学习笔记 1.安装前准备 solr依赖java 8 运行环境,所以我们先安装java.如果没有java环境无法启动solr服务,并且会看到如下提示: [root@localhost solr- ...

  7. solr学习笔记-开篇

    由于工作需要,近期接触了一下全文检索的相关技术,从lucenen到solr开始慢慢一路摸爬滚打,仅以此文记录自己的学习里程和记录下各种坑. 本次学习基于以下环境版本: java7,solr5.5.4( ...

  8. Solr学习笔记-在Tomcat上部署执行Solr

    上一篇我们初识了Solr而且学习了Jetty的启动方式.查看了Solr的管理界面,这一篇我们来实如今Tomcat上部署执行Solr. 部署环境: window7 jdk1.6.0_14 Solr-4. ...

  9. Solr学习笔记1(V7.2)

    下载压缩包http://archive.apache.org/dist/lucene/,解压后放到某一盘符下面 Windows下启动命令 :\solr-7.2.0>bin\solr.cmd st ...

  10. Solr学习笔记---部署Solr到Tomcat上,可视化界面的介绍和使用,Solr的基本内容介绍,SolrJ的使用

    学习Solr前需要有Lucene的基础 Lucene的一些简单用法:https://www.cnblogs.com/dddyyy/p/9842760.html 1.部署Solr到Tomcat(Wind ...

随机推荐

  1. Postman安装及简介

    Postman简介 不管web自动化测试还是APP自动化端,测试过程中都会涉及到接口测试.接口测试分为服务器端测试和客户端测试.今天给大家介绍一个测试服务器端的小工具--Postman.它可以构造各类 ...

  2. gitHub-高仿58同城加载动画

    导入方式: /build.gradle repositories { maven { url "https://jitpack.io" } } /app/build.gradle ...

  3. MediaWIKI部署流程

    1.下载mediawiki,地址:https://www.mediawiki.org/wiki/MediaWiki 2.下载xxamp集成软件,地址:https://www.apachefriends ...

  4. C51单片机中data、idata、xdata、pdata的区别

    C51单片机中data.idata.xdata.pdata的区别 data: 固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小. idata: 固定指前 ...

  5. 共识算法:PBFT、RAFT

    转自:https://www.cnblogs.com/davidwang456/articles/9001331.html 区块链技术中,共识算法是其中核心的一个组成部分.首先我们来思考一个问题:什么 ...

  6. juqery dragsort使用遇到的问题

    1.destroy时,没给容器加id,不能执行成功--->修改源码如下: if (options == "destroy") { $(this).trigger(" ...

  7. ARM的体系结构与编程系列博客——ARM处理器系列介绍

    ARM处理器系列介绍 现在到了3月,过年过得过于舒服了.系列博客也停更了近半月,我果然是个慢(lan)性(gui)子,那么趁着到校的第一天晚上,就写一篇博客来继续我的系列博客了!众所周知,ARM处理器 ...

  8. awk把第1列相同的第2列按“;”拼起来,最后输出第1列和拼起来的结果

    [root@localhost cc]# cat 2.txt adc 3 5 a d aa 3 adfa d ba 3 adf 第1列相同的第2列按";"拼起来,最后输出第1列和拼 ...

  9. PHP中关于时间(戳)、时区、本地时间、UTC时间等的梳理

    PHP中关于时间(戳).时区.本地时间.UTC时间等的梳理 在PHP开发中,我们经常会在时间问题上被搞糊涂,比如我们希望显示一个北京时间,但是当我们使用date函数进行输出时,却发现少了8个小时.几乎 ...

  10. “Device eth0 does not seem to be present”解决办法

    在KVM中克隆出新的CentOS虚拟机时,出现如下问题:# service network restartShutting down loopback insterface: [ OK ]Bringi ...