Solr单机和集群的安装,使用
来源:互联网 发布:c 并行与分布式编程 编辑:程序博客网 时间:2024/05/21 16:07
Solr的安装步骤
- 首先安装jdk
- 然后安装tomcat
- 然后解压缩solr安装包
- 复制 solr下的example/webapps目录下的solr.war复制到tomcat目录下的webapps下,
- 启动tomcat,关闭tomcat ,删除solr.war
- 复制solr目录下的lib/ext的所有jar到tomcat目录下的webapps/webapps/solr/WEB-INF/lib下
- 然后复制solr目录下example/solr所有文件到你自己创建的SolrHome文件夹下
- 修改tomcat下webapps/solr/WEB-INF/web.xml指定自己的solrhome
- 添加中文分析器IKAnalyzer2012FF_u1,我们解压缩IKAnalyzer2012FF_u1,然后把IKAnalyzer2012FF_u1.jar复制到tomcat下的solr工程lib文件夹下
- 在tomcat的solr工程中创建一个WEB-INF/classes然后复制IKAnalyzer2012FF_u1下的扩展文件,配置文件到该目录下
- 修改solrHome下的collection1/conf/schema.xml,添加一个fieldType
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType> - 配置自己的业务域
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
- 可以使用复合键
<copyField source="item_title" dest="item_keywords"/>
Solr集群的配置
- 配置solr集群,我们需要配置zookeeper集群
- zookeeper集群的配置可以参考我的dubbo使用中
- 我们需要复制配置过solr服务的tomcat复制4份,然后创建响应的SolrHome 然后修改各自的solr工程的web.xml指定自己的SolrHome,然后修改每个tomcat的server.xml的文件改变其端口(如果在一个机器上),但是我们需要在tomcat的bin目录下的catalina.sh,然后添加以下代码
JAVA_OPTS="-DzkHost=192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"
配置zookeeper集群的地址 - 启动各个zookeeper
- 修改各个solrhome下的collection1下的solr.xml指定自己对应的tomcat服务
- 我们使用解压缩的solr目录下的example/scripts/cloud-scripts/ 下使用命令
./zkcli.sh -zkhost 192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf
随便找个solrhome下的配置上传。 - 启动各个tomcat
- 创建新的Collection进行分片处理。
http://192.168.25.154:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2 - 删除不用的Collection。
http://192.168.25.154:8180/solr/admin/collections?action=DELETE&name=collection1
Solr的使用
添加索引
//单机版SolrServer solrServer=new HttpSolrServer("http://192.168.25.154:8080/solr"); //集群版SolrServer solrServer=new CloudSolrServer(zookeeper集群的地址)SolrInputDocument document=new SolrInputDocument();document.addField("id", itemIndex.getId());document.addField("item_title",itemIndex.getTitle());document.addField("item_sell_point", itemIndex.getSell_point());document.addField("item_price",itemIndex.getPrice());document.addField("item_image", itemIndex.getImage());document.addField("item_category_name",itemIndex.getCategory_name());document.addField("item_desc",itemIndex.getItem_desc());solrServer.add(document);solrServer.commit();
查询
SolrServer solrServer=new HttpSolrServer("http://192.168.25.154:8080/solr"); //创建一个solrquery SolrQuery query=new SolrQuery(); query.setQuery(queryString); //设置默认的查询field query.set("df", "item_title"); //分页 query.setStart((page-1)*rows); query.setRows(rows); //开启高亮 query.setHighlight(true); query.addHighlightField("item_title"); query.setHighlightSimplePre("<font color='red'>"); query.setHighlightSimplePost("</font>"); QueryResponse response=solrServer.query(query); SolrDocumentList documentList=response.getResults();
Solr与Spring的整合
单机版
<bean id="solrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer"> <constructor-arg name="baseURL" value="http://10.118.16.75:8080/solr/collection1" /></bean>
集群版
<bean id="solrServer" class="org.apache.solr.client.solrj.impl.CloudSolrServer"> <constructor-arg name="zkHost" value="10.118.16.75:2182,10.118.16.75:2183,10.118.16.75:2184"></constructor-arg> <property name="defaultCollection" value="collection1"></property></bean>
阅读全文
0 0
- Solr单机和集群的安装,使用
- zookeeper的单机安装和集群安装
- solr单机版和集群版搭建
- solr单机和集群连接方法api
- ZooKeeper 的安装和配置---单机和集群
- Redis的安装(单机|集群)
- Redis单机及集群的安装及使用
- Solr单机版的安装及配置
- Solr的安装与配置-单机版
- Liunx 下redis的安装单机版和集群版
- Redis的单机版和集群版安装
- Zookeeper单机安装和集群安装
- solr单机版安装
- windos 单机安装solr
- Solr-2-单机安装
- solr单机版安装
- solr单机版安装
- 集群安装完毕,该如何测试和使用集群-hadoop单机(伪分布)
- redis在linux系统下客户端命令
- 几个下拉效果
- Java 数字价格转为中文大写表达
- android service启动AlertDialog
- CentOS 下 Nginx + Tomcat 配置负载均衡
- Solr单机和集群的安装,使用
- 阿里云上部署node环境
- [2017纪中10-24]筹备计划 线段树
- 设置程序只能开一个,若重复打开给出提示说已经又程序在运行
- Makefile_Jerry(二)
- NOIP模拟 Math 【同余】
- [数学理论]训练集\开发集\测试集
- 如何破解myeclipse生成注册码
- [51nod-1428]活动安排问题 题解