前文中我们已经创建了core并且配置好了solrconfig和schema两个文件,下面进行最后一步:上传数据和创建索引。根据数据形式的不同,我们可以选择WEB UI和DIH(Data Import Handler)两种上传数据的方法。
在solr管理页面选择core后,我们就可以看到用来上传数据的菜单“Documents”。Documents既可以上传单个文件,也可以实现多个文件的批量上传,相比DIH更适合上传字段简单、数据量少的文本形式数据。上传页面的可选属性如下:
在“Document Type”中选择“Solr Commend”,参考solr提供的格式示例,上传文件如下:
{ "add":{ "doc":{ "product_id":"0", "product_name":"螺纹锁固胶-高强度耐高温型 桔红色 高强度 中粘度", "product_code":"272", "order_code":"AA0053", "product_price":"145.4", "product_brand":"LOCTITE", "product_brand":"乐泰", "product_unit":"1支", "product_days":"37", "product_rank":"55"}}, "add":{ "doc":{ "product_id":"1", "product_name":"螺纹锁固胶-超高强度耐高温型 红色 高强度 高粘度", "product_code":"277", "order_code":"AA0142", "product_price":"85.8", "product_brand":"LOCTITE", "product_brand":"乐泰", "product_unit":"1支", "product_days":"37", "product_rank":"26"}} }
这里需要注意的是,对于之前schema中定义的多值域“product_brand”,我们在json需要重复提交。看到页面显示“Status:success”,表示文件上传成功。
在“Document Type”中选择“Solr Commend”,参考solr提供的格式示例,上传文件如下:
<add> <doc> <field name="product_id">0</field> <field name="product_name">螺纹锁固胶-高强度耐高温型 桔红色 高强度 中粘度</field> <field name="product_code">272</field> <field name="order_code">AA0053</field> <field name="product_price">145.4</field> <field name="product_brand">LOCTITE</field> <field name="product_brand">乐泰</field> <field name="product_unit">1支</field> <field name="product_days">37</field> <field name="product_rank">55</field> </doc> <doc> <field name="product_id">1</field> <field name="product_name">螺纹锁固胶-超高强度耐高温型 红色 高强度 高粘度</field> <field name="product_code">277</field> <field name="order_code">AA0142</field> <field name="product_price">85.8</field> <field name="product_brand">LOCTITE</field> <field name="product_brand">乐泰</field> <field name="product_unit">1支</field> <field name="product_days">37</field> <field name="product_rank">26</field> </doc> </add>
和上传JSON文件时类似,对于“product_brand”字段我们可以重复提交实现多值。
在“Document Type”中选择“CSV”,参考solr提供的格式示例,上传文件如下:
product_id,product_name,product_code,order_code,product_price,product_brand,product_unit,product_days,product_rank 0,螺纹锁固胶-高强度耐高温型 桔红色 高强度 中粘度,272,AA0053,145.4,"LOCTITE/乐泰",1支,37,55 1,螺纹锁固胶-超高强度耐高温型 红色 高强度 高粘度,277,AA0142,85.8,"LOCTITE/乐泰",1支,37,26
由于solr规定csv的字段之间使用‘,’分隔,因此如果字段值中含有‘,’,我们要对值使用双引号(字段名不能使用)。对于CSV文件中的多值,本文暂未找到上传方法。
这里提供工业品电商商品数据一份(公开数据),已经转为XML格式,方便大家上传solr学习。
solr_data_product
更新中。。。
上传文件后,我们可以点击左边的“Overview”菜单,查看当前core的文件数目。
根据域名和域值删除文件
<delete><query>product_id:0</query></delete> <commit/>
删除全部文件
<delete><query>*:*</query></delete> <commit/>