1.首先将sorl安装在tomcat下,详细的安装过程这里不详细叙述。
2.创建core
在solr_home(安装sorl时我的sorl_home路径是D:\install\apache-tomcat-8.5.13-windows-x64\apache-tomcat-8.5.13\bin\solr)下新建core文件夹,我创建的core名称为jobs。
在jobs文件下新建data文件夹,并且将solr目录下的conf文件夹( D:\solr-5.5.0\example\example-DIH\solr\db\conf)拷贝到jobs文件下。在conf文件夹下新建data-config.xml文件(或者从solr example文件夹下拷贝),修改其文件内容,如下:(我连接的是mysql数据库,driver是mysql的驱动,url中的test是数据库的名称,user和password是用户名和密码。数据库test下user表有三个属性 分别是id subject content ,类型都为varchar)
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
user="root" password="***"/>
<document>
<entity name="user" query="SELECT * from user">
<field column="id" name="id" />
<field column="subject" name="subject" />
<field column="content" name="content" />
</entity>
</document>
</dataConfig>
修改conf目录下的sorlconfig.xml文件,ctrl+f输入requestHandler,找到形如下面几行的配置,修改<str name="config">data-config.xml</str>中的文件为data-config.xml。
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
conf文件下没有schema.xml文件,将manage-schema修改为schema.xml文件,添加数据库test下user表的三个字段 id、subject、content,由于id field已存在,所以不需重复添加。
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="subject" type="string" indexed="true" stored="true" />
<field name="content" type="string" indexed="true" stored="true" />
导入jar包,将solr-5.5.0\dist下的solr-dataimporthandler-5.5.0.jar和solr-dataimporthandler-extras-5.5.0.jar放到D:\install\apache-tomcat-8.5.13-windows-x64\apache-tomcat-8.5.13\webapps\solr\WEB-INF\lib下。,mysql-connector-java-5.1.41-bin.jar也放到其中。
3.然后打开你们的浏览器,访问http://localhost:8080/solr/admin.html#/jobs,点击左侧的Dataimport菜单,不出意外的话,将不报错正确显示。若报错Sorry, no dataimport-handler defined!则上面过程没有成功。点command选择full-import,点击Execute导入数据建立索引。
4.点击左侧的query进行查询,将看到mysql中的数据导入了solr中。