solr的基本配置(一)

来源:互联网 发布:慢跑鞋哪个牌子好 知乎 编辑:程序博客网 时间:2024/05/16 19:47

有关solr的简单文档

l  版本solr5.5.3

l  环境 Windows(Linux,跟win原来一样),jdk1.7

l  启动方式:1、部署在Tomcat。2、自带jetty服务器启动

l  以Tomcat为例

1.       将solr-5.5.3下的service下的solr-webapp复制到Tomcat 下的webapp下,并改名solr(名字随意);

2.       将solr-5.5.3下的service下的lib下的ext下的所有jar包复制到Tomcat下solr下web-inf下lib下;

3.       在Tomcat下solr下web-inf创建classes文件夹,并把solr5.5.3下的solr-5.5.3\solr-5.5.3\example\resources下的log4.perportiy复制到classes文件下;

到此,启动Tomcat,可以正常访问solr了,localhost:8080/solr/index.html#

4.       创建core核心;在任意地方创建文件夹home,把solr5.53下service下solr复制到这个home下,在这里,我创建在Tomcat的bin目录下了,并且修改配置文件Tomcat下的solr下web-inf下web.xml


把此处的注解打开,把../home/solr这个路径放到红框里,此处代表solr的core,可以在home的solr下创建core,名字任意起;

5.       在home下solr下创建core,此处名字叫mishi,并且把../home \solr\configsets\sample_techproducts_configs\下的conf复制到mishi下,并且跟conf同目录建一个文件夹data;(在solr可视化界面创建core时的名字,必须跟home下的mishi同名,如果不手动创建这个mishi,可视化界面创建core会失败的)


红框里的名字必须跟创建的core的名字一样,此处都是mishi,然后点击Addcore就成功了;已经创建好的mishi;



6.       以后的创建索引库,分词,基本都在这个mishi下的conf里配置了;

接下来是导入索引的创建;

首先将solr-5.5.3\solr-5.5.3\dist下的solr-dataimporthandler-5.5.3和solr-dataimporthandler-extras-5.5.3这两个jar包放到Tomcat/solr/web-inf/lib下,

再把数据库连接池的jar包放进去mysql-connector-java-5.1.13-bin;

在mishi/conf下的solrconfig.xml里添加配置

<requestHandlername="/dataimport" class="solr.DataImportHandler"> 

  <lst name="defaults"> 

    <str name="config">data-config.xml</str> 

  </lst> 

 </requestHandler>

跟solrconfig.xml同目录创建data-config.xml,这个配置文件是用来连接数据库的;

data-config.xml

<?xml version="1.0"encoding="UTF-8" ?>

<dataConfig>  

<dataSource name="source1"type="JdbcDataSource"  

                driver="com.mysql.jdbc.Driver"  

                url="jdbc:mysql://192.168.199.132:3306/shopping"  

                user="root"  

                password="1234"/>  

<document>  

       <entityname="shopping_goods" dataSource="source1"query="SELECTid,goods_name,goods_price,goods_current_price,goods_salenum,gc_id FROMshopping_goods "       deltaImportQuery="selectid,goods_name,goods_price,goods_current_price,goods_salenum,gc_id fromshopping_goods where ID='${dataimporter.delta.ID}'"  

                                          deltaQuery="selectID from shopping_goods whereADDTIME>'${dataimporter.last_index_time}'">

      

                     <fieldcolumn="id" name="id"/>

                     <fieldcolumn="goodsName" name="goods_name"/>

                     <fieldcolumn="goodsPrice" name="goods_price"/>

                     <fieldcolumn="goodsCurrentPrice" name="goods_current_price"/>

                     <fieldcolumn="goodsSalenum" name="goods_salenum"/>

                     <fieldcolumn="gcId" name="gc_id"/>

       </entity>  

</document>  

 

</dataConfig>

7.       配置ik分词器;首先导入ik的jar  IKAnalyzer5.3.1和IK-Analyzer-extra-5.3.1(可能导入一个jar就可以了,但是solr的版本不一样,支持的ik版本也不一样,这里就导入这两个),把jar导入Tomcat/solr/web-inf/lib下;(网上下载ik的jar,解压包里有其他的文件,比如ext、IKAnalyzer.cfg.xml、stopword等,把这些文件放到Tomcat/solr/web-inf/classes下)

然后配置mishi/conf/managed-schema.xml;在里面添加如下内容:

<!--ik-->

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

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

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

    </fieldType>

      <field name="goods_name" type="text_ik"indexed="true" stored="true" required="true"multiValued="false" />

      <field name="goods_price"type="text_ik" indexed="true" stored="true"required="true" multiValued="false" />

      <fieldname="goods_current_price" type="text_ik"indexed="true" stored="true" required="true"multiValued="false" />

      <field name="goods_salenum"type="text_ik" indexed="true" stored="true"required="true" multiValued="false" />

 

 <field name="gc_id"type="text_ik" indexed="true" stored="true"required="true" multiValued="false" />

到这儿,solr的基本配置就已经完成了,启动solr,就可以正常使用了;

 

说明:此处的索引的字段都是在data-config.xmlmanaged-schema.xml下添加的,应该是有solr api的方法在代码里就可以添加了,不用一直改配置文件;修改完配置文件,重启,并重新导入索引库;

如果是使用solr自带的jetty启动,就把solr5.53servicesolr当成home下的core就行了,只需要在里面创建core的名称就可以,其他的步骤不便windows下启动命令Tomcat下启动Tomcat就可以了,jetty在命令窗口找到solrbin目录,然后

启动:solr start关闭:solr stop –p 8983

                   

0 0