lipeng 发表于 2016-12-15 09:30:09

solr在resin下的配置

1.创建 ${solr_home} 目录  /home/solr/
2.下载Solr 3.6发行包(http://lucene.apache.org/solr )
 wget http://www.apache.org/dist//lucene/solr/3.6.0/apache-solr-3.6.0.tgz 
3.解压apache-solr-3.6.0.tgz
tar –zxvf apache-solr-3.6.0.tgz  /home/download/apache-solr-3.6.0
4.部署服务
cp /home/download/apache-solr-3.6.0/apache-solr-3.6.0.war  /home/app/resin5/webapps/
5.修改resin配置
vi /home/app/resin5/conf/resin.conf
======================================================
<host id="" root-directory=".">
      <web-app id="/" document-directory="webapps/apache-solr-3.6.0" character-encoding="utf-8">
        <env-entry>
         <env-entry-name>solr/home</env-entry-name>
         <env-entry-type>java.lang.String</env-entry-type>
         <env-entry-value>/home/solr</env-entry-value>
       </env-entry>
     </web-app>
   </host>
6.布置${solr_home}
cp /home/download/apache-solr-3.6.0/example/solr/* /home/solr
cp -ri /home/download/apache-solr-3.6.0/example/multicore/* /home/solr 如果提示覆盖,请覆盖
重命名core0为项目一   重命名core1为项目二 如我把core0命名为contest
 
7. vi /home/solr/solr.xml 
<cores adminPath="/admin/cores">
    <core name="contest" instanceDir="contest" />
    <core name="tiankongc" instanceDir="tiankongc" />
  </cores>
</solr>
 
8.vi /home/solr/example/home/contest/conf/solrconfig.xml 
<dataDir>/home/solr/example/data/contest</dataDir> 
9.修改你的应用啦,做些特别配置
vi /home/solr/contest/conf/schema.xml
<types>
   <fieldtype name="string"  class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
   <fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
   <fieldType name="text_cn" class="solr.TextField">
       <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
   </fieldType>   <!--这是IK分词,需要安装-->
</types>
 <fields>
<field name="id"      type="string"   indexed="true"  stored="true"  multiValued="false" required="true"/> <!--必须保留-->
<field name="nameEn"    type="string"   indexed="true" stored="true" required="true" />
  <field name="name"   type="text_cn"   indexed="true"  stored="true"/>
 </fields>
 
10:IK分词的安装
将IKAnalyzer3.2.5发行包解压,复制IKAnalyzer3.2.8Stable.jar到Solr的lib中,如/home/app/resin5/webapps/apache-solr-3.6.0/WEB-INF/lib,
复制配置文件IKAnalyzer.cfg.xml和stopword.dic 也到这个目录。
重启resin。
验证:http://127.0.0.1:8983/contest/admin/analysis.jsp 
日志:
Solr 默认是用 Jdk 的日志输出。还好 Solr 是使用 slf4j 日志库,可以方便换用其它日志输出。solr 使用 log4j 也不难。重新生成 solr.war
把 solr.war 解压,然后把 log4j.properties 放到 WEB-INF/classes 中。没有 classes 创建一个。log4j.properties 如:
1 log4j.addivity.org.apache=true  
2 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  
3 log4j.appender.CONSOLE.Target=System.out  
4 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  
5 log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %c{2} - %m%n  
6 log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender  
7 log4j.appender.ROLLING_FILE.Append=false  
8 log4j.appender.ROLLING_FILE.File=./logs/rolling.log  
9 log4j.appender.ROLLING_FILE.MaxBackupIndex=2  
10 log4j.appender.ROLLING_FILE.MaxFileSize=10MB  
11 log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout  
12 log4j.appender.ROLLING_FILE.layout.ConversionPattern=%d %-5p %c{2} - %m%n  
13 log4j.logger.org.apache.solr=INFO,ROLLING_FILE  
14 log4j.rootLogger=INFO,CONSOLE  
把 下载的slf4j-log4j12-1.6.1.jar 和 log4j-1.2.16.jar 放到 WEB-INF/lib 里,把 slf4j-jdk14-1.5.5.jar 删除。同时如果有log4j-over-slf4j-1.6.1.jar,也一并删除。
 
 
八. 安全性 
SolrJ没有提供访问控制接口,也就是说只要知道solr服务器信息,任何人都可以连接solr服务器来进行索引增加、修改、删除操作;
根据Apache提供的文档说明,可以用一下三种方式进行控制;
1) 修改路径
webapp=/solr path=/select 将path改成其它
2) 限制客户端IP
通过限制client端的IP来进行控制,也是基于Tomcat控制

修改conf/server.xml  在<Host>节点中添加以下代码
allow运行访问的主机,多个IP时可以用 , 分开
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,192.168.208.119"/> 
页: [1]
查看完整版本: solr在resin下的配置