1.java 客户端document就相当于一条记录
public E3Result importItmes() {
try {
//查询商品列表
List<SearchItem> itemList = itemMapper.getItemList();
//导入索引库
for (SearchItem searchItem : itemList) {
//创建文档对象
SolrInputDocument document = new SolrInputDocument();
//向文档中添加域
document.addField("id", searchItem.getId());
document.addField("item_title", searchItem.getTitle());
document.addField("item_sell_point", searchItem.getSell_point());
document.addField("item_price", searchItem.getPrice());
document.addField("item_image", searchItem.getImage());
document.addField("item_category_name", searchItem.getCategory_name());
//写入索引库
solrServer.add(document);
}
//提交
solrServer.commit();
//返回成功
return E3Result.ok();
} catch (Exception e) {
e.printStackTrace();
return E3Result.build(500, "商品导入失败");
}
}
}
2.使用solr
1)创建solrhome ,然后在其中创建solrcore,配置solrcore中的schema.xml.文件这里面需要配置FieldType(相当于数据类型),Field相当于一条记录中的字段。
schema.xml中定义
- 商品Id
- 商品标题
- 商品卖点
- 商品价格
- 商品图片
- 分类名称
创建对应的业务域。需要制定中文分析器。
创建步骤:
第一步:把中文分析器添加到工程中。
- 把IKAnalyzer2012FF_u1.jar添加到solr工程的lib目录下
- 把扩展词典、配置文件放到solr工程的WEB-INF/classes目录下。
第二步:配置一个FieldType,制定使用IKAnalyzer
修改schema.xml文件
修改Solr的schema.xml文件,添加FieldType:
|
<fieldType name="text_ik" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType> |
第三步:配置业务域,type制定使用自定义的FieldType。
设置业务系统Field
|
<field name="item_title" type="text_ik" indexed="true" stored="true"/> <field name="item_sell_point" type="text_ik" indexed="true" stored="true"/> <field name="item_price" type="long" indexed="true" stored="true"/> <field name="item_image" type="string" indexed="false" stored="true" /> <field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/> <copyField source="item_title" dest="item_keywords"/> <copyField source="item_sell_point" dest="item_keywords"/> <copyField source="item_category_name" dest="item_keywords"/> |
3.
4.
5.
本文详细介绍如何使用Java客户端向Solr导入商品信息,包括创建文档对象、添加字段及中文分析器配置。通过实例演示了商品ID、标题、卖点等字段的导入过程。

528

被折叠的 条评论
为什么被折叠?



