solr client 简化solr编程
作者:lianj_lee(1987)
做solr的开发已经很长时间了,对于官方的solrj还是不是很满意,所以为了广大solrer能更方便的利用solr,个人封装了一些代码,算是一个小小的框架把,欢迎大家拍砖。
目前项目已经开源,地址:http://code.google.com/p/clientforsolr/
目前的功能:
1》对solr的commit,update,delete,optimize等进行了封装,提供了更加方便的操作;
2》对实体类到SolrInputDocument或者SolrDocument到实体类或者SolrDocument到SolrInputDocument提供了简单的转换;
3》提供了SolrServer更加便利的获取方法;
简单介绍,更多详情见http://code.google.com/p/clientforsolr/
例如:
// 删除所有记录public void deleteAll(SolrServer server); // 删除idArrays数组中的记录,该数组中的元素为document的Id,idName为主键名public void deleteById(Object[] idArrays, String idName, SolrServer server);// 删除单个id记录public void deleteById(Object id, String idName, SolrServer server);// 删除某个对象,该对象必须有idpublic void deleteByExample(Object obj, String idName, SolrServer server);// 更新一个对象,主键必须提供,public void update(Object obj, String idName, SolrServer server);// 批量更新,Map的key为id,value为要更新的对象public void update(Map<Object, Object> objMap, String idName, SolrServer server);// 批量提交数据public void commit(List<Object> objectList, SolrServer server);// 提交一条记录public void commit(Object obj, SolrServer server);// 查询数据,提供分页支持,第一个参数:SolrParams封装了查询参数;第二个参数要查询的类;第三个参数起始记录;第四个参数查询数据量public <T>PaginationSupport<T> query(SolrParams params, Class<T> cls, int start, int rows, SolrServer server);// 查询数据,提供分页支持,第一个参数:查询的字符串;第二个参数要查询的类;第三个参数起始记录;第四个参数查询数据量public <T>PaginationSupport<T> query(String keyword, Class<T> cls, int start, int rows, SolrServer server);