作为程序员,肯定希望代码来帮我们完成所有的是,不喜欢用网页的界面。
而且网页的界面也不好用。尤其是对大规模数据导入的时候。
我这里送上几段测试代码,供大家参考:
(1)文件上传:
HttpSolrServer server = new HttpSolrServer("http://localhost:8080/solr");
// 创建Document对象
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", "c001");
doc.addField("name", "solr test111");
// 将Document对象添加到索引库
server.add(doc);
// 提交
server.commit();
这里要提一个问题:
我在运行的时候发现:HttpSolrServer不用用了,我在solrj的开发包里并没有发现这个类。
于是我最后用的是:HttpSolrClient server = new HttpSolrClient(url);,一样的功能。
(2)文件查询:
public void search01() throws Exception {
// 创建HttpSolrServer
HttpSolrServer server = new HttpSolrServer("http://localhost:8080/solr");
// 创建SolrQuery对象
SolrQuery query = new SolrQuery();
// 输入查询条件
query.setQuery("product_name:小黄人");
// 执行查询并返回结果
QueryResponse response = server.query(query);
// 获取匹配的所有结果
SolrDocumentList list = response.getResults();
// 匹配结果总数
long count = list.getNumFound();
System.out.println("匹配结果总数:" + count);
for (SolrDocument doc : list) {
System.out.println(doc.get("id"));
System.out.println(doc.get("product_name"));
System.out.println(doc.get("product_catalog"));
System.out.println(doc.get("product_price"));
System.out.println(doc.get("product_picture"));
System.out.println("=====================");
}}
上面的代码可以实现基本信息的上传和查询,
大家可以根据自己文档的内容来修改上传到内容,
如果有新的信息类,记得去配置文件:managed-schema.xml中添加对应的Field。