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]