solr的安装

来源:互联网 发布:如何判断矩阵可逆 编辑:程序博客网 时间:2024/05/17 22:21
一、更新solr的配置文件schema.xml
 添加:
<fieldType name="text_ansj" class="solr.TextField" positionIncrementGap="100">  
   <analyzer type="index">  
      <tokenizer class="org.ansj.solr.AnsjTokenizerFactory" conf="ansj.conf"/>  
    </analyzer>  
 <analyzer type="query">  
      <tokenizer class="org.ansj.solr.AnsjTokenizerFactory" analysisType="1"/>  
    </analyzer>  
  </fieldType>  


  <fieldType name="text_ansj_nature" class="solr.TextField" positionIncrementGap="100">  
   <analyzer type="index">  
      <tokenizer class="org.ansj.solr.AnsjTokenizerNatureFactory" conf="ansj.conf"/>  
    </analyzer>  
 <analyzer type="query">  
      <tokenizer class="org.ansj.solr.AnsjTokenizerNatureFactory" analysisType="1"/>  
    </analyzer>  
  </fieldType>  




    修改使用分词的字段类型:


    <field name="name" type="text_mm" indexed="true" stored="true"/>


二、替换到/sample/solr/collection1下,上传到/opt/cloudera/parcels/solr/collection1


三、上传mmseg4j*.jar到3台服务器
/usr/lib/solr/webapps/solr/WEB-INF/lib/


#实际运行tomcat下的
#/var/lib/solr/tomcat-deployment/webapps/solr/WEB-INF/lib
才能生效


四sudo -u solr solrctl instancedir --create collection1 /opt/cloudera/parcels/solr/collection1
执行该命令后,会将/opt/cloudera/parcels/solr/collection1下的conf目录下面的所有文件上传到zookeeper的/solr/configs下面的collection1目录下面.


重启solr


sudo -u solr solrctl collection --create collection1 -s 3
创建一个名叫collection1的collection,有3个shard,我们没写-c参数,就会使用默认与collection name相同的配置文件目录作为-c的默认配置,也即会使用默认的上一步上传到zookeeper的collection1目录作为默认配置目录.


OK,我们可以检测一下collection是否创建成功,运行:solrctl collection --list,看看有没有collection1


如果创建失败,可删除分片
sudo -u solr solrctl instancedir --delete collection1
sudo -u solr solrctl collection --delete collection1




如果schema.xml修改,需要更新zookeeper下solr配置


sudo -u solr solrctl instancedir --update collection1 /opt/cloudera/parcels/solr/collection1
sudo -u solr solrctl collection --reload collection1 


sudo -u solr solrctl instancedir --update collection2 /opt/cloudera/parcels/solr/collection1
sudo -u solr solrctl collection --reload collection2
将修改后的配置更新到zookeeper中




四、添加扩展词库schema.xml(暂时不配置)


<fieldtype name="text_mm" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="/home/dic"/>
</analyzer>
</fieldtype>


词库文件名必须以words开头.dic结尾。词库强制使用utf-8.由于 utf-8 文件有带与不带 BOM 之分,建议词库第一行为空行或为无 BOM 格式的 utf-8 文件。


每个服务器在/home/dic下上传words-sougou.dic


重启solr服务


测试:大智慧   event 升级前可分词为 “大” “智慧” 升级后“大智慧”
常州地方词库升级后测试“八一村委”




find / -name "WEB-INF*"




















1)在主机进入zookeeper文件夹,用


cd /usr/lib/zookeeper/bin/


./zkCli.sh   (sh zkCli.sh -server localhost:2181)


获得zookeeper客户端实例,使用rmr命令删除原有配置文件myconf。




/usr/lib/solr/bin/solrctl.sh 


find / -name schema.xml




####存在疑问,此记录不作为配置步骤####


CDH中solr每次启动均会从此目录重新复制war包到/var/lib/solr/tomcat-deployment
/usr/lib/solr/solr-4.10.3-cdh5.4.3.war


因此分词器等需要更新到war包后,才能生效


上传IKAnalyzer2012_u6.jar到
/var/lib/solr/tomcat-deployment/webapps/solr/WEB-INF/lib
上传IKAnalyzer.cfg.xml,stopword.dic到
/var/lib/solr/tomcat-deployment/webapps/solr/WEB-INF/classes




在源码根路径下执行: mvn clean install -DskipTests=true  命令,在target目录下生成jar包。
原创粉丝点击