最近公司要做搜索的项目,需要用到solr,今天就简单看了下solr的相关知识,搭建了solr环境。

    solr的运行环境非常简单,只需要JDK和一个WEB容器即可,这里用到tomcat


    jdk和tomcat的配置在这里就不讲了,很简单。

1、直接进入主题,网上先下载solr5.3的包并解压为solr-5.3.0

2、将solr部署到tomcat中,将E:\solr-5.3.0\example\example-DIH目录下的solr文件夹复制到tomcat的根目录下,即:E:\apache-tomcat-7.0.62\

3、将\solr-5.3.0\server\solr-webapp下的webapp文件夹复制到E:\apache-tomcat-7.0.62\webapps目录下,改名为solr

4、修改E:\apache-tomcat-7.0.62\webapps\solr\WEB-INF\web.xml,找到<env-entry>节点,该结点处于被注释状态,去掉注释,按如下代码修改:

1 <env-entry>
2     <env-entry-name>solr/home</env-entry-name>
3     <!--此路径应该是Tomcat的根目录-->
4     <env-entry-value>E:\apache-tomcat-7.0.62\solr</env-entry-value>
5     <env-entry-type>java.lang.String</env-entry-type>
6 </env-entry>
5、将E:\solr-5.2.1\server\lib\ext目录下的所有jar包复制到E:\apache-tomcat-7.0.62\webapps\solr\WEB-INF\lib目录下

6、将E:\solr-5.2.1\server\resources目录下的log4j.properties放到E:\apache-tomcat-7.0.62\webapps\solr\WEB-INF\classes目录下,如果classes文件夹不存在就手动新建一个

7、还需要添加solr-dataimporthandler-5.3.0.jar和solr-dataimporthandler-extras-5.3.0.jar这2个jar包,否则会报错,这2个包默认不在webapp里,在下载包的dist目录下


8、分词配置

配置smart分词器

    1)将E:\solr-5.2.1\contrib\analysis-extras\lucene-libs下的lucene-analyzers-smartcn-5.2.1.jar复制到E:\apache-tomcat-7.0.62\webapps\solr\WEB-INF\lib目录下

 2)打开目录E:\apache-tomcat-7.0.62\solr\,

    3)选择核心目录并打开,如db,用文本编辑器打开db/config/schema.xml,并添加如下配置信息:

<field name="text_smart" type="text_smart" indexed="true" stored="true" multiValued="true"/>
   <fieldType name="text_smart" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
      <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>
      <filter class="solr.SmartChineseWordTokenFilterFactory"/>
    </analyzer>
    <analyzer type="query">
      <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>
      <filter class="solr.SmartChineseWordTokenFilterFactory"/>
    </analyzer>
   </fieldType>
    4)、重新启动tomcat并输入地址:http://localhost:8080/solr


至此,solr环境就搭建好了,还需要慢慢深入到代码中去


若不用tomcat,solr5.0后自带jetty,可以自己启动,进入bin下,windows命令:solr.cmd start -p 8981(启动8981的端口)


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐