第一步,下载solr-4.10.2.zip文件,解压出来,得到solr-4.10.2文件夹
其实在这里也可以直接运行,因为,solr自己有内置的jetty服务器,也有内置的索引库的生成位置,但是jetty不稳定,我们需要换到tomcat下
直接启动的方法如下。
3、运行 cmd 执行命(进入C:\solr-4.10.2\example):
4、执行命令:java -jar start.jar
5、打开浏览器,输入地址:http://localhost:8983/solr/
附:快速插入数据
运行cmd 输入命令:cd C:\solr-4.10.2\example\exampledocs
再输入命令:java -jar post.jar solr.xml monitor.xml
第二步,下载一个tomcat,把上面刚解压,位置在solr-4.10.2\example\webapps的solr.war放到tomcat下,解压出来,修改web.xml参数,因为需要指定自定义的索引库位置
放到tomcat下还需要把原来依赖的jar包引用过来,位置在solr-4.10.2\example\lib\ext下,一共5个jar包,拷贝到tomcat的apache-tomcat-7.0.81 - lzh\webapps\solr\WEB-INF\lib 下
第三步,创建一个索引库,修改web.xml参数
查找这个参数,默认是注释掉的,大概在41行左右。换成自己的索引库即可
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>E:\liuzhonghua\solr\solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
不出意外的话启动会报500错误,HTTP Status 500 - {msg=SolrCore ‘collection1’ is not available due to init failure: Could not load}
还需要在解压出来的solr文件中solr-4.10.2\example\example-schemaless\solr这个路径下的文件拷贝到solrhome下。就可以
接下来搭建ik分词器,同样也是三步
第一步,把ik分词器的jar包扔到solr的lib下,然后把ik需要的配置文件和拓展的词汇.text文件放到classes下,没有classes的文件夹自己手动建,
附:
IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">ext.dic;</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">stopword.dic;</entry>
</properties>
第二步,在solrhome\collection1\conf\schema.xml下配置ik分词器。
例如:
注意:fieldType 是指定分词器的类型,然后再指定自定义的域field,域指定ik分词器
<schema>
...
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer" />
</fieldType>
<field name="name_ik" type="text_ik" indexed="true" stored="true"/>
</schema>
第三,重启tomcat即可
连接数据库导入数据库数据(3步)
第一,把solrhome\collection1\conf\solrconfig.xml的最下面增加下面代码
在solrhome\collection1\lib下放三个jar包,分别是mysql-connector-5.1.8.jar,solr-dataimporthandler-4.10.2.jar,solr-dataimporthandler-extras-4.10.2.jar,一个是数据库连接池包,另外两个是导入数据的jar把包,在解压出来的solr-4.10.2\dist下找那两个包。
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
第二步,在solrhome\collection1\conf\data-config.xml下写如下代码(data-config.xml不存在自己手动建立)
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/jd"
user="root"
password="root"/>
<document>
<entity name="xx" query="select item_id, item_desc from tb_item_jd_desc">
<field column="item_id" name="jd_id"/>
<field column="item_desc" name="jd_desc"/>
</entity>
</document>
</dataConfig>
第三,在solrhome\collection1\conf\schema.xml下增加相对应的字段域,名字要和data-config.xml上的相对应
比如:
<field name="jd_id" type="int" indexed="true" stored="true"/>
<field type="text_ik" indexed="true" stored="true" name="jd_desc"/>
ok了。