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工程solr中web.xml文件,添加如下
5. 修改tomcat/webapps下solr的web.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实时查看数据配置,若配置正常则会彩色显示。