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.jarSolrlib中,如/home/app/resin5/webapps/apache-solr-3.6.0/WEB-INF/lib

复制配置文件IKAnalyzer.cfg.xmlstopword.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 如:

log4j.addivity.org.apache=true  

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  

log4j.appender.CONSOLE.Target=System.out  

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  

log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %c{2} - %m%n  

log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender  

log4j.appender.ROLLING_FILE.Append=false  

log4j.appender.ROLLING_FILE.File=./logs/rolling.log  

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"/> 

猜你喜欢

转载自javis163.iteye.com/blog/1678944