linux下配置tomcat7 + solr4.9(续)--- 多核索引的配置

在上一篇文章中(详见http://www.cnblogs.com/bxljoy/p/3850263.html),我们已经介绍了tomcat+solr的索引服务器的配置,但是文中创建的服务器只能支持存储单一索引,很多情况下,我们需要对多个表或者多组不同的数据分别创建索引,如果没需要创建一个索引库,就要部署一套solr服务,那明显是不合算的,所以本文就来介绍一下solr的进阶应用,在同一台服务器中配置多核索引。

进入我们解压好的solr文件目录:

cd /home/hadoop2/solr/example/multicore

ls

core0  core1  exampledocs  README.txt  solr.xml  zoo.cfg

将此文件夹下的所有内容都复制到我们solr服务器的home目录,如下:

cp -r  *  /home/hadoop2/solrhome

ls

bin  collection1  controller  core0  core1  logs  README.txt  solrindex  solr.xml  zoo.cfg

其中solr.xml配置文件内容如下:

<solr persistent="false">

  <!--
  adminPath: RequestHandler path to manage cores.
    If ‘null‘ (or absent), cores will not be manageable via request handler
  -->
  <cores adminPath="/admin/cores" host="${host:}" hostPort="6688" hostContext="${hostContext:solr}">
    <core name="core0" instanceDir="core0" />
    <core name="core1" instanceDir="core1" />    <core name="controller" instanceDir="controller" />
<shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory"> <str name="urlScheme">${urlScheme:}</str> </shardHandlerFactory> </cores> </solr>

其中红字部分需要注意:端口需要改成与自己配置的tomcat服务器端口一致,本文中为6688,;而下面的红字core属性为自定义的索引文件夹,在solrhome目录中分别对应core0、core1和controller索引文件夹,其中包含配置文件和索引数据文件:

ls /home/hadoop2/solrhome/controller/conf

logs  schema.xml  solrconfig.xml

ls /home/hadoop2/solrhome/core0/conf

logs  schema.xml  solrconfig.xml

ls /home/hadoop2/solrhome/core1/conf

logs  schema.xml  solrconfig.xml

其中solrconfig.xml无需修改,只要修改schema.xml即可:

<schema name="example core zero" version="1.1">

   <fieldtype name="string"  class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
   <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
  <!-- general -->
  <field name="id"        type="string"   indexed="true"  stored="true"  multiValued="false" required="true"/>
  <field name="type"      type="string"   indexed="true"  stored="true"  multiValued="false" />
  <field name="name"      type="string"   indexed="true"  stored="true"  multiValued="false" />
  <field name="core0"     type="string"   indexed="true"  stored="true"  multiValued="false" />
  <field name="_version_" type="long"     indexed="true"  stored="true"/>

 <!-- field to use to determine and enforce document uniqueness. -->
 <uniqueKey>id</uniqueKey>

 <!-- field for the QueryParser to use when an explicit fieldname is absent -->
 <defaultSearchField>name</defaultSearchField>

 <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
 <solrQueryParser defaultOperator="OR"/>
</schema>

系统默认的uniqueKey为id,如果有需要,我们可以修改uniqueKey,并添加我们需要创建的索引字段,如下:

<schema name="example core zero" version="1.1">

   <fieldtype name="string"  class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
   <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
  <!-- general -->
<!--
  <field name="id"        type="string"   indexed="true"  stored="true"  multiValued="false" required="true"/>
-->
  <field name="type"      type="string"   indexed="true"  stored="true"  multiValued="false" />
  <field name="name"      type="string"   indexed="true"  stored="true"  multiValued="false" />
  <field name="core0"     type="string"   indexed="true"  stored="true"  multiValued="false" />
  <field name="_version_" type="long"     indexed="true"  stored="true"/>

 <!-- field to use to determine and enforce document uniqueness. -->
 <uniqueKey>rowkey</uniqueKey>
  <field name="rowkey"        type="string"   indexed="true"  stored="true"  multiValued="false" required="true"/>
  <field name="one"     type="string"   indexed="true"  stored="true"  multiValued="false" />
  <field name="two"     type="string"   indexed="true"  stored="true"  multiValued="false" />
  <field name="three"     type="string"   indexed="true"  stored="true"  multiValued="false" />

 <!-- field for the QueryParser to use when an explicit fieldname is absent -->
 <defaultSearchField>name</defaultSearchField>

 <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
 <solrQueryParser defaultOperator="OR"/>
</schema>

以上的配置文件中,我们将uniqueKey修改为rowkey,并注释掉id字段的定义,或者修改id字段的required属性为fasle也可以,然后我们添加了需要创建索引的字段。

之前介绍的配置文件的修改,我们在core0、core1和controller三个文件夹中都需要做,根据建立的三个不同索引的需要,配置不同的uniqueKey和索引字段。然后重启tomcat服务器,访问对应的solr服务器的url:http://10.1.5.242:6688/solr,会看到如下图页面:

点击左侧菜单栏中的  Core Admin选项,就可以看到多个索引的状态页面了,如下图:

点击controller、core0和core1中间菜单栏,就可以切换索引状态界面,查看索引的具体信息。

solr服务器的多核索引配置步骤就是这样,后面我会介绍使用solr的java API,对索引进行创建、更新和删除等基本操作。

转载请注明出处:http://www.cnblogs.com/bxljoy/p/3861003.html

linux下配置tomcat7 + solr4.9(续)--- 多核索引的配置

时间: 2024-09-30 02:00:19

linux下配置tomcat7 + solr4.9(续)--- 多核索引的配置的相关文章

linux下配置tomcat7 + solr4.9

一.安装准备 操作系统:CentOS 6.5 tomcat版本:apache-tomcat-7.0.54.tar.gz solr版本:solr-4.9.0.tgz 二.部署实施 安装tomcat:将tomcat7的压缩包上传到linux,使用命令行解压tomcat,并将加压后的文件夹改名为tomcat7: tar -zxvf apache-tomcat-7.0.54.tar.gz mv apache-tomcat-7.0.54 tomcat7 配置tomcat端口: tomcat默认的端口为80

linux下安装tomcat7.0

linux版本:CentOS 6.2 iso文件下载地址:http://mirrors.163.com/centos/6.2/isos/i386/CentOS-6.2-i386-bin-DVD1.iso 1. 安装JDK 先用java命令查看系统是否安装了默认的openJDK,如果已安装,建议用yum remove java卸载之. 下载jdk: wget –c http://download.oracle.com/otn-pub/java/jdk/7u5-b05/jdk-7u5-linux-i

Linux下使用 github+hexo 搭建个人博客03-hexo配置优化

上两张文章,我们说了 hexo 部署.主题的切换.博文的创建.MarkDown 简单使用和 hexo 部署到 GitHub Pages. 也说了我们会使用 next 主题做为我们后期博客的使用和维护.但是该主题的原生态,可能或多或少不满足我们当前的需求,因此需要我们对其进行优化,达到我们想要的效果. 因此这篇文章和下篇文章主要就是针对主题的优化进行书写的. 注意事项 1.优化完毕或者新建博客后需要 hexo g 生成静态文件: 2.然后重新启动服务,使用命令 hexo s -p 80 3.浏览器

Linux下Solr单机版、集群版安装与配置

一.安装 1.需要的安装包有apache-tomcat-7.0.47.tar.gz.solr-4.10.3.tgz.tgz(jdk自行安装) 这里默认大家已经安装好jdk与tomcat,所以在这里不做说明,jdk安装点击这里,tomcat直接解使用. 2.解压solr的安装包,把tar -zxvf solr-4.10.3.tgz.tgz解压 [[email protected] local]# tar -zxvf solr-4.10.3.tgz.tgz 3.进入solr-4.10.3/dist下

linux下的开源移动图像监测程序--motion编译与配置

前几天在网上偶然看到一篇博客,是利用linxu下的开源的motion搭建嵌入式视频动态监控系统,感觉很好很强大于,是就想自己编译移植一下试试. 所谓移动图像监测,简单来说就是利用摄像头定点监测某个区域,当有移动物体经过时,摄像头便自动抓拍(要监测多大物体.按拍照速率都是可调的),并把拍到的图像存储在指定目录,实现无人监控功能. motion 是一套免费开源的移动图像监测程序(详见http://www.lavrsen.dk/foswiki/bin/view/Motion) 先去下载源代码:http

linux下的开源移动图像监测程序--motion编译与配置【转】

本文转载自:http://www.cnblogs.com/qinyg/p/3355707.html 前几天在网上偶然看到一篇博客,是利用linxu下的开源的motion搭建嵌入式视频动态监控系统,感觉很好很强大于,是就想自己编译移植一下试试. 所谓移动图像监测,简单来说就是利用摄像头定点监测某个区域,当有移动物体经过时,摄像头便自动抓拍(要监测多大物体.按拍照速率都是可调的),并把拍到的图像存储在指定目录,实现无人监控功能. motion 是一套免费开源的移动图像监测程序(详见http://ww

Linux下配login.sql,并在.bash_profile中配置SQLPATH

在linux下的目录/u01/oracle/sqlplus/admin下编写了一个login.sql,代码如下 ---login.sql-- define _editor=vim set serveroutput on size 1000000 set trimspool on set long 5000 set linesize 100 set pagesize 9999 column plan_plus_exp format a80 column global_name new_value

Linux下jvm、tomcat、mysql、log4j优化配置

小菜一直对操作系统心存畏惧,以前也很少接触,这次创业购买了Linux云主机,由于木有人帮忙,只能自己动手优化服务器了.... 小菜的云主机配置大致为:centeos6(32位),4核心cpu,4G内存,5M独享带宽. 一.jvm内存优化方案. 要优化服务器,首先从jvm入手,分配好jvm内存,配置方案如下: declare -x JAVA_OPTS="-server -Xms1280M -Xmx1280M -Xmn512M -Xss1024k -XX:+AggressiveOpts -XX:+U

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

近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如下 1:下载jdk包:本章使用的为后缀为tar.gz的文件(不需要安装),如jdk-7u67-linux-i586.tar.gz 2: 把jdk文件保存至Linux下目录:通过控制台,使用mkdir命令生成user/java目录,并把文件放入其下 3:解压tar.gz文件:通过控制台,进入user/