Solr安装笔记

来源:互联网 发布:java final 对象 编辑:程序博客网 时间:2024/06/06 02:14

1.Solr基本环境搭建:

环境要求:JDK 1.7及以上,tomcat7+Solr4.8

1.    solr-4.8.0\example\webapps\solr.war拷贝到Tomcat中进行部署

2.        建立Solr工作目录,比如D:\solr\home。将\solr-4.8.0\example\下的solr文件夹拷贝到这个工作目录中。

3.        启动tomcat,solr-4.8.0\example\lib\ext包下的jar包,全部拷贝到tomcat/webapps下解压开的solr工程的lib目录下。

4.        修改web工程solrweb.xml文件,添加如下

5.     修改tomcat/webappssolrweb.xml配置文件,指定solr工作目录

<env-entry>

       <env-entry-name>solr/home</env-entry-name>

       <env-entry-value>D:/solr/home/solr</env-entry-value>

       <env-entry-type>java.lang.String</env-entry-type>

 </env-entry>

 

6.    启动tomcat,访问http://localhost:8080/solr

2.新建core

http://localhost:8080/solr,点击左侧core Admin,通过addcore按钮添加(在创建之前需在D:\solr\home\solr目录优先创建文件夹,名称即是core的名字,collection1文件夹拷贝conf文件夹到新建core下)

3.分词器集成

4.x版本对应的IK分词器是IK Analyzer 2012FF_hfl ,用其他版本会无法集成

1.解压IKAnalyzer 2012FF_hf1.zip,获得IK Analyzer 2012FF_hf1。将该目录下的IKAnalyzer.cfg.xml,stopword.dic放到之前安装TOMCAT_HOME/webapps/solr/WEB-INF/classes目录下(没有就创建classes文件夹) IKAnalyzer2012FF_u1.jar放到之前安装的TOMCAT_HOME/webapps/solr/WEB-INF/lib目录下

2.修改相关core/conf,如修改/solr_home/collection1/conf/中的schema.xml中增加如下内容:

<fieldType name="text_ik" class="solr.TextField">

        <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>

        <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

同时修改filed 使filed引用text_ik.这样才能使用IK分词器。

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

 

 

4.Mysql集成

1.拷贝mysql驱动jar,solr4.8.0解压文件夹下dist目中的solr-dataimport-*.jar,solr-dataimport-extra-*.jar到TOMCAT_HOME/webapps/solr/WEB-INF/lib

2.修改core中solrconfig.xml文件,添加dataimport

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
        <lst name="defaults">
          <str name="config">data-config.xml</str>
        </lst>
    </requestHandler>

3.在solrconfig.xml同目录下新建data-config.xml文件

<dataConfig>

  <dataSource type="JdbcDataSource"

             driver="com.mysql.jdbc.Driver"

             url="jdbc:mysql://localhost/yourDBname"

              user="root"

              password="root"/>

  <document>

   <entity name="question1" query="select Guid,titl fromquestion where Guid is not null">

      <field column="Guid" name="id"/>

      <field column="title" name="question1_title"/>

   </entity>

 </document>

</dataConfig>

 

注意:column为数据库对应的名称,name为需在schema.xml中定义的名称,id为必须项(默认为string类型,若需修改类型,需注释掉solrconfig如下配置:

<searchComponentname="elevator" class="solr.QueryElevationComponent" >

   <!-- pick a fieldType to analyze queries -->

   <str name="queryFieldType">string</str>

   <str name="config-file">elevate.xml</str>

 </searchComponent> )

 

配置完成后登陆http://localhost:8080/solr,在core admin选项页中选择新建的core,并进行reload

 

 

在左侧core Selector中选择新建core,选择dataimport,默认全量进行索引引导入,点击execute,同时勾选auot-refresh staus,可实时查看doc导入。导入成功时,会在顶部提示。


在右侧可点击打开configuration实时查看数据配置,若配置正常则会彩色显示。

0 0
原创粉丝点击