solr的基本配置(一)
有关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.xml和managed-schema.xml下添加的,应该是有solr api的方法在代码里就可以添加了,不用一直改配置文件;修改完配置文件,重启,并重新导入索引库;
如果是使用solr自带的jetty启动,就把solr5.53下service下solr当成home下的core就行了,只需要在里面创建core的名称就可以,其他的步骤不便windows下启动命令Tomcat下启动Tomcat就可以了,jetty在命令窗口找到solr的bin目录,然后
启动:solr start关闭:solr stop –p 8983
更多推荐
所有评论(0)