solr学习笔记
前言
solr是apach基于Lucene开发的成熟的框架,这里我们学习如何部署、使用。关于集群会在后面继续添加
linux部署
mkdir /usr/local/solr && cd /usr/local/solr
# 把tomcat、solr和IK分词器复制到当前目录
wget http://archive.apache.org/dist/lucene/solr/4.10.3/solr-4.10.3.tgz
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
wget IK……
# 处理tomcat
tar -zxvf apache-tomcat-7.0.91.tar.gz
mv apache-tomcat-7.0.91 tomcat
# 处理solr
tar -zxvf solr-4.10.3.tar
# 处理解析器
unzip IKAnalyzer2012FF_hf1.zip -d ./ik
# 复制solr.war包到tomcat
cp solr-4.10.3/example/webapps/solr.war tomcat/webapps
/usr/local/solr/tomcat/bin/startup.sh
/usr/local/solr/tomcat/bin/shutdown.sh
rm tomcat/webapps/solr.war
# 复制项目需要的jar包
cp solr-4.10.3/example/lib/ext/* tomcat/webapps/solr/WEB-INF/lib
# 复制出solr实例
cp -r solr-4.10.3/example/solr ./
mv solr solrhome
# 配置
vim tomcat/webapps/solr/WEB-INF/web.xml
# 取消注释节点:env-entry,并修改value为:/usr/local/solr/solrhome
增加一个实例
cp -r solrhome/collection1 solrhome/collection2
vim solrhome/collection2/core.properties
# 修改为collection2即可
配置中文分词器
cp ik/IKAnalyzer2012FF_u1.jar tomcat/webapps/solr/WEB-INF/lib
mkdir tomcat/webapps/solr/WEB-INF/classes
cp ik/IKAnalyzer.cfg.xml tomcat/webapps/solr/WEB-INF/classes/
cp ik/stopword.dic tomcat/webapps/solr/WEB-INF/classes/
# 自定义扩展词典
touch tomcat/webapps/solr/WEB-INF/classes/ext.dic
vim tomcat/webapps/solr/WEB-INF/classes/IKAnalyzer.cfg.xml
# 取消自定义扩展词典的注释
# 配置一个使用分词器的域
vim solrhome/collection1/conf/schema.xml
<!-- IKAnalyzer-->
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<!--IKAnalyzer Field-->
<field name="content_ik" type="text_ik" indexed="true" stored="true" />
导入插件集成
mkdir solrhome/collection1/lib
cp solr-4.10.3/dist/solr-dataimporthandler-4.10.3.jar solrhome/collection1/lib/
cp solr-4.10.3/dist/solr-dataimporthandler-extras-4.10.3.jar solrhome/collection1/lib/
# 下载mysql的jar包到lib目录
wget -P solrhome/collection1/lib/ https://raw.githubusercontent.com/tianyunperfect/jar_back/master/mysql-connector-java-5.1.32.jar
vim solrhome/collection1/conf/solrconfig.xml
# 添加:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
# 配置插件的配置文件
touch solrhome/collection1/conf/data-config.xml
# 添加
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.148.92:3306/lucene"
user="root"
password="root"/>
<document>
<entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products ">
<field column="pid" name="id"/>
<field column="name" name="product_name"/>
<field column="catalog_name" name="product_catalog_name"/>
<field column="price" name="product_price"/>
<field column="description" name="product_description"/>
<field column="picture" name="product_picture"/>
</entity>
</document>
</dataConfig>
mysql -u root -p
use mysql;
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
使用
配置
applicationContext-solr.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:solr="http://www.springframework.org/schema/data/solr"
xsi:schemaLocation="http://www.springframework.org/schema/data/solr
http://www.springframework.org/schema/data/solr/spring-solr-1.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- solr服务器地址 -->
<solr:solr-server id="solrServer" url="http://192.168.63.128:8080/solr" />
<!-- solr模板,使用solr模板可对索引库进行CRUD的操作 -->
<bean id="solrTemplate" class="org.springframework.data.solr.core.SolrTemplate">
<constructor-arg ref="solrServer" />
</bean>
</beans>
使用
@Autowired
private SolrTemplate solrTemplate;
solrTemplate.saveBeans(items);
solrTemplate.commit();
solr学习笔记的更多相关文章
- Solr学习笔记之3、Solr dataimport - 从SQLServer导入数据建立索引
Solr学习笔记之3.Solr导入SQLServer数据建立索引 一.下载MSSQLServer的JDBC驱动 下载:Microsoft JDBC Driver 4.0 for SQL Server ...
- Solr学习笔记之2、集成IK中文分词器
Solr学习笔记之2.集成IK中文分词器 一.下载IK中文分词器 IK中文分词器 此文IK版本:IK Analyer 2012-FF hotfix 1 完整分发包 二.在Solr中集成IK中文分词器 ...
- Solr学习笔记之1、环境搭建
Solr学习笔记之1.环境搭建 一.下载相关安装包 1.JDK 2.Tomcat 3.Solr 此文所用软件包版本如下: 操作系统:Win7 64位 JDK:jdk-7u25-windows-i586 ...
- Solr学习笔记之5、Component(组件)与Handler(处理器)学习
Solr学习笔记之5.Component(组件)与Handler(处理器)学习 一.搜索篇 拼写检查(spellCheck) 作用:用来检查用户输入的检索内容是否存在,如果不存在则给它提示出相近或相似 ...
- Solr学习笔记之4、Solr配置文件简介
Solr学习笔记之4.Solr配置文件简介 摘自<Solr in Action>. 1. solr.xml – Defines one or more cores per Solr ser ...
- solr学习笔记-入门
solr学习笔记 1.安装前准备 solr依赖java 8 运行环境,所以我们先安装java.如果没有java环境无法启动solr服务,并且会看到如下提示: [root@localhost solr- ...
- solr学习笔记-开篇
由于工作需要,近期接触了一下全文检索的相关技术,从lucenen到solr开始慢慢一路摸爬滚打,仅以此文记录自己的学习里程和记录下各种坑. 本次学习基于以下环境版本: java7,solr5.5.4( ...
- Solr学习笔记-在Tomcat上部署执行Solr
上一篇我们初识了Solr而且学习了Jetty的启动方式.查看了Solr的管理界面,这一篇我们来实如今Tomcat上部署执行Solr. 部署环境: window7 jdk1.6.0_14 Solr-4. ...
- Solr学习笔记1(V7.2)
下载压缩包http://archive.apache.org/dist/lucene/,解压后放到某一盘符下面 Windows下启动命令 :\solr-7.2.0>bin\solr.cmd st ...
- Solr学习笔记---部署Solr到Tomcat上,可视化界面的介绍和使用,Solr的基本内容介绍,SolrJ的使用
学习Solr前需要有Lucene的基础 Lucene的一些简单用法:https://www.cnblogs.com/dddyyy/p/9842760.html 1.部署Solr到Tomcat(Wind ...
随机推荐
- php如何使用rabbitmq实现发布消息和消费消息(一对多)(tp框架)(第二篇)
一个publisher发布消息 多个个customer接受消息 1:准备工作参照: http://www.cnblogs.com/spicy/p/7886820.html 2,:路由: 3: 方法: ...
- 《LeetBook》leetcode题解(16):3Sum Closest [M]
我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...
- Centos 6.5下的OPENJDK卸载和SUN的JDK安装、环境变量配置
不多说,直接上干货! 说明 图形界面安装,会自带有Centos6.5自带的OPRNJDK!!! *********************************自带的OPENJDK的卸载****** ...
- 简述C和C++的学习历程
总是被问到,如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复. 一家之言,欢迎拍砖哈. 1.可以考虑先学习C. 大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望 ...
- xgboost使用
xgboost的实现方式为多颗CART树,其实xgboost就是类似于随机森林,但是与随机森林不同,他不是多个子树决策的结果,CART树最后会算出一个得分,是一个值,最后算出分类的时候,是多个值结合在 ...
- (转)linux内核调优参数对比和解释
[net] ######################## cat /proc/sys/net/ipv4/tcp_syncookies # 默认值:1 # 作用:是否打开SYN Cookie功能,该 ...
- OOAD之面向对象设计原则
学习这个设计模式 真的觉得很抽象,只有自己多多的领会! 在很多时候,很多的知识都会觉得讲起来是很矛盾的. 本章目标 1 掌握内聚度和耦合度的概念 2 掌握面向对象设计原则 (一)如何衡量软件设计的质 ...
- Ubuntu18.0.4查看显示器型号
在官网https://launchpad.net/ubuntu/+source/xresprobe下载二进制包,apt-get目前无法安装xresprobe 输入命令sudo ddcprobe 得到如 ...
- 我是怎么从安卓到php再成为前端开发工程师的
记得我下定决心学Android(安卓)是17年的暑假,暑假前,学校组织了一次集训,美其名曰帮我们巩固知识,实际上就是学校和长沙的培训学校某牛达成了合作,教我们一些基础知识,然后集训完建议那些在学校没学 ...
- 常用工具说明--mysql数据库安装
MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的.如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQL将会安装在C:\P ...