承接上文
我们已经在solr-home中创建了一个demo_core文件夹,并且将configsets/sample_techproducts_configs/目录下的conf文件夹拷贝到demo_core文件夹下。
在conf文件夹下编辑solrconfig.xml文件,在730行左右~增加如下代码
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
示例如图所示:
其中 data-config.xml文件需要我们自己创建~
在conf目录下创建data-config.xml文件~
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/solr"
user="root"
password="root"/>
<document>
<entity name="products" query="select pid,pname,catalog_name,price,description,picture from products ">
<field column="pid" name="id"/>
<field column="pname" name="prod_pname"/>
<field column="catalog_name" name="prod_catalog_name"/>
<field column="price" name="prod_price"/>
<field column="description" name="prod_description"/>
<field column="picture" name="prod_picture"/>
</entity>
</document>
</dataConfig>
示例如图所示:
此处的数据库配置应当和自己的数据库配置一样
此处的field标签与conf目录下的managed-schema文件中field相映射,并且我们需要在tomcat/webapps/solr/WEB-INF/lib目录下导入mysql相应版本的jar包
编辑conf目录下的managed-schema文件~
<!-- ik分词器 -->
<fieldType name="ik_analyzer" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<field name="prod_pname" type="ik_analyzer" indexed="true" stored="true" required="true" />
<field name="prod_catalog_name" type="string" indexed="true" stored="true" required="true" />
<field name="prod_price" type="pdouble" indexed="true" stored="true" required="true" />
<field name="prod_description" type="ik_analyzer" indexed="true" stored="true" required="true" />
<field name="prod_picture" type="string" indexed="false" stored="true" required="true" />
如下图所示:
这里的ik_analyzer是IK分词器,我们需要下载IK分词器的jar包,网上搜索并下载~这里提供IK分词器8.3版本的jar包 提取码:8qzx
将Jar包放入tomcat/webapps/solr/WEB-INF/lib目录中。
启动tomcat,进入solr界面
点击Execute按钮并Refresh之后,在Query中查询