之前使用的都是SolrInputDocument来完成像服务器提交数据,但是Solr给我们提供了更便捷的方法
支持直接使用Java PoJo类来完成提交数据
那么我们先写一个Pojo类,如下package org.solrj.root;
package org.solrj.root; import org.apache.solr.client.solrj.beans.Field; public class Dog { @Field private String id; @Field private String name; @Field private Float price; @Field private String comments; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Float getPrice() { return price; } public void setPrice(Float price) { this.price = price; } public String getComments() { return comments; } public void setComments(String comments) { this.comments = comments; } }
我们在相应的保持一致的字段上添加了注解。
接下来我们写一个向服务器添加的函数。
public static void addIndexDocWithPojo(SolrServer server) throws SolrServerException, IOException{ Dog dog1=new Dog(); dog1.setComments("大家好,我是中国狗,我在北京"); dog1.setId("dog1005"); dog1.setName("天语"); dog1.setPrice(520.6f); Dog dog2=new Dog(); dog2.setComments("大家好,我是日本狗,我在东京"); dog2.setId("dog1006"); dog2.setName("索尼"); dog2.setPrice(520.6f); List<Dog> dogs=new ArrayList<Dog>(); dogs.add(dog1); dogs.add(dog2); server.addBeans(dogs); server.commit(); }当然这个函数还是在之前写过的Root类中。
这样就可以完成了直接使用Java Pojo的文档提交。
提交后,便可以查看我们的检索结果了。