转载请标明出处:http://www.cnblogs.com/chlde/p/3768733.html
1.如何将solr部署,请参考之前的文章
2.按上述配置好后,在solr_home文件夹中,将包含collection1文件夹,这就是solr的一个实例。下面我们来看看collection1中的文件内容。
collection1中包含conf和data两个子文件夹。data中包含tlog和index(如果没有也没关系,稍后再solr建立索引时,将会被创建)。tlog是记录日志的文件夹,index是存放索引的文件夹。conf中包含lang文件夹和若干文件。lang文件夹中包含的是词库文件,但是solr默认是没有中文词库的,所以之后会将中文词库加入该文件夹中。在conf中,包含了若干xml文件,我们针对solr配置,是需要配置solrconfig.xml和schema.xml即可。下面我们讲一下如何配置这两个文件。
3.先配置solrconfig.xml。solrconfig.xml是solr的核心文件。这里包含了jar包引用,数据库读取路径配置,操作接口配置。
jar包配置如下
1 <lib dir="../contrib/extraction/lib" regex=".*\.jar" /> 2 <lib dir="../dist/" regex="solr-cell-\d.*\.jar" /> 3 4 <lib dir="../contrib/clustering/lib/" regex=".*\.jar" /> 5 <lib dir="../dist/" regex="solr-clustering-\d.*\.jar" /> 6 7 <lib dir="../contrib/langid/lib/" regex=".*\.jar" /> 8 <lib dir="../dist/" regex="solr-langid-\d.*\.jar" /> 9 10 <lib dir="../contrib/velocity/lib" regex=".*\.jar" /> 11 <lib dir="../dist/" regex="solr-velocity-\d.*\.jar" /> 12 13 <lib dir="../contrib/dataimporthandler/lib" regex=".*\.jar" /> 14 <lib dir="../dist/" regex="solr-dataimporthandler-\d.*\.jar" />
其中,最后两行是数据导入的handler,这包含了从数据库读取数据所需要的jar包。这些jar的目录都在solr_home\contrib这个文件夹中。
配置dataimporthandler
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
这里需要你创建一个新的xml文件,放在conf文件夹中,命名为data-config.xml。内容如下
1 <dataConfig> 2 <dataSource type="JdbcDataSource" 3 driver="com.mysql.jdbc.Driver" 4 url="jdbc:mysql://localhost/yourDBname" 5 user="root" 6 password="root"/> 7 <document>
8 <entity name="question1" query="select Guid,title,QuesBody,QuesParse,QuesType from question1 where Guid is not null"> 9 <field column="Guid" name="id"/> 10 <field column="title" name="question1_title"/> 11 <field column="QuesBody" name="question1_body"/> 12 <field column="QuesParse" name="question1_parse"/> 13 <field column="QuesType" name="question1_type"/> 14 </entity> 15 <entity name="question2" query="select Guid,title,QuesBody,QuesParse,QuesType from question2 where Guid is not null"> 16 <field column="Guid" name="id"/> 17 <field column="title" name="question2_title"/> 18 <field column="QuesBody" name="question2_body"/> 19 <field column="QuesParse" name="question2_parse"/> 20 <field column="QuesType" name="question2_type"/>