修改 solrconfig.xml 檔案
修改solrhome\demo_core\conf
資料夾下的solrconfig.xml,新增dataimport
為了便於維護,我們就在requestHandler起始位置,約720行處,新增如下內容
<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
data-config.xml的作用:資料庫連線相關資訊、SQL以及查詢結果對映對應域中
在solrconfig.xml同級目錄下,建立data-config.xml
新增如下內容:
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<!-- 這是資料庫的基本資訊-->
<dataSource type="JdbcDataSource"
driver="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/solr?userSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC"
user="root"
password="szy10086"/>
<!-- 這是對於的表的資訊,如果表中存在id ,name等特殊欄位,請避免衝突,將name屬性改成不同的名稱 如<field column="id" name="bid"/> -->
<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>
query
:代表查詢的SQL語句column
:SQL查詢的列名Name
:solr域field中的域名
定義域
修改同級目錄下的managed-schema檔案
在之前配置的中文分詞器後配置field域(這裡配置的域名要與data-config中的域名一樣):
其中prod_pname和prod_description需要模糊查詢(中文分詞),故將其型別改為solr_cnAnalyzer
<!-- ChineseAnalyzer 自帶的中文分詞器 -->
<fieldType name="solr_cnAnalyzer" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
</fieldType>
<field name="prod_pname" type="solr_cnAnalyzer" 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="solr_cnAnalyzer" indexed="true" stored="true" required="true" />
<field name="prod_picture" type="string" indexed="false" stored="true" required="true" />
啟動 solr 伺服器
在Dataimport中點選Execute,開始匯入資料,可以點選Auto-Refresh-Status,檢視重新整理狀態。
在Query介面點選Execute Query,能查詢到資料說明從mysql中匯入資料成功
本作品採用《CC 協議》,轉載必須註明作者和本文連結