全量更新
1.在sorlconfig.xml配置data-config.xml
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
2.new_code/conf目录下的新建 data-config.xml 文件
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.2.10:3306/springboot"
user="root"
password="123456"/>
<document>
<entity name="solrTest"
query="SELECT fid,ftime,fcontent,ftitle,flastupdatetime FROM solrTest">
<field column="id" name="id"/>
<field column="name" name="name"/>
<field column="price" name="price"/>
<field column="merchant" name="merchant"/>
<field column="city" name="city"/>
<field column="province" name="province"/>
</entity>
</document>
</dataConfig>
3new_code/conf目录下.managed-schema.xml 的文件添加以下内容
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="name" type="string" indexed="true" stored="true" multiValued="false" />
<field name="price" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="merchant" type="string" indexed="true" stored="true" multiValued="false" />
<field name="city" type="string" indexed="true" stored="true" multiValued="false" />
<field name="province" type="string" indexed="true" stored="true" multiValued="false" />
4.进入后台管理,
增量更新的话再下面加一点代码就可以了
<entity name="user" query="
SELECT
p.id,
p.name,
p.price,
m.name merchant,
c1.shortname city,
c2.shortname province
FROM product p
LEFT JOIN merchant m ON p.merchant_id=m.id
LEFT JOIN city c1 ON m.city_id=c1.id
LEFT JOIN city c2 ON c1.pid=c2.id;
"
deltaQuery="
SELECT
p.id,
p.name,
p.price,
m.name merchant,
c1.shortname city,
c2.shortname province
FROM product p
LEFT JOIN merchant m ON p.merchant_id=m.id
LEFT JOIN city c1 ON m.city_id=c1.id
LEFT JOIN city c2 ON c1.pid=c2.id;
">
后台管理页面如下
个别字段需要结合自己的实际修改,参考就可以了