Solr 读写(Java SolrJ)
2016-05-18 22:51
295 查看
这里是需要的jar包,都是solr中带的有的在dist中或者lib中,还有的是其他的地方的,由于版本不一样,可能名字不太一样
package solr_project; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrServer; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.params.ModifiableSolrParams; import org.apache.http.HttpResponse; public class SolrTest { public static void main(String [] args) throws IOException,SolrServerException{ String url="http://localhost:8080/solr/"; @SuppressWarnings("deprecation") HttpSolrServer server=new HttpSolrServer(url); //添加Document:------------------ 开始 String [] id={"1","2"}; String [] name={"Jack","Sherlock holmes"}; Collection<SolrInputDocument>docCollection=new ArrayList<SolrInputDocument>(); for (int i = 0; i < name.length; i++) { SolrInputDocument document=new SolrInputDocument(); //这里的id 和name是文档中的,其中id是主键 document.addField("id",id[i]); document.addField("name",name[i]); server.add(document); } server.commit(); //添加Document:------------------ 结束 //solr查询:-------------------------开始,这里的查询方式只是一种很基础的查询方式,还有其他更好的查询方式,会后续更新 ModifiableSolrParams params=new ModifiableSolrParams(); //设置查询参数,name字段包括Sherlock的记录 params.set("q", "name:Sherlock"); //设置要返回的 params.set("f1","id,name,update_time"); QueryResponse response=server.query(params); for(SolrDocument doc:response.getResults()){ System.out.println("id :"+doc.getFieldValue("id").toString()); System.out.println("name :"+doc.getFieldValue("name").toString()); // System.out.println("update_time :"+doc.getFieldValue("updata_time").toString()); System.out.println("------------------------------------------------------------"); } //solr查询:-------------------------开始 System.out.println(response.getResults().size()+"end of the story"); } }
相关文章推荐
- Java学习笔记之[ 利用扫描仪Scanner进行数据输入 ]
- Struts2中jsp显示
- java中log4j的使用体验
- Java实现导出Excel文件
- JAVA设计模式(11):结构型-装饰模式(Decorator)
- Java文件读写操作
- Java环境搭建之Eclipse常用快捷键
- [原创] Windows下Eclipse连接hadoop
- Java HashMap的工作原理
- 内部类
- eclipse 添加.gitignore
- 【学习笔记】eclipse 编译正确,只能打印出208
- Java实现下载网上的图片到本地
- Struts2间接访问Servlet API(ActionContex--一般推荐使用)
- 电商系统的高并发设计和挑战
- javaWeb开发之(一)_jdk安装与配置(Windows)
- 关于java.util.Vector 或 java.util.Hashtable类过时的讨论
- java笔记之类和对象
- Java接口和抽象类
- MyEclipse优化设置