文档章节

Solr笔记四之Solrj创建索引和搜索的一般步骤

猪刚烈
 猪刚烈
发布于 2014/09/24 13:56
字数 295
阅读 145
收藏 0
    

在solrj中创建索引的一般步骤:

     1)创建一个SolrServer对象,SolrServer用于管理索引

     2)创建SolrInputDocument对象,即文档对象,并且向文档对象添加字段

     3)利用SolrServer对象的add方法添加SolrInputDocument对象,创建索引

      4)调用SolrServer对象的commit()方法提交索引。

      例如:

           HttpSolrServer hss=new HttpSolrServer("http://localhost:8080/solr");

SolrInputDocument solrInputDocument=new SolrInputDocument();
solrInputDocument.addField("id", 1);
solrInputDocument.addField("uname", "zhangsan");
   solrInputDocument.addField("sex", sex.male.toString());
   solrInputDocument.addField("age", 1);
  
   solrInputDocument.addField("hobby", "basketball");

   hss.add(solrInputDocument);

   hss.commit();


搜索的一般步骤:

1)创建一个SolrServer对象

2)创建查询语句SolrQuery对象

3)创建SolrRequest对象

4)通过SolrRequest的process(SolrServer)方法生成一个SolrResponse对象

5)调用SolrResponse对象的getResults()方法得到结果集

 

在这里我们还可以通过SolrServer的query(SolrQuery)直接创建一个SolrResponse对象。

      例如:

   1.    HttpSolrServer  hss=new HttpSolrServer("http://localhost:8080/solr");

SolrQuery sq=new SolrQuery("id:1");

QueryRequest qr=new QueryRequest(sq);

       QueryResponse q=qr.process(hss);
  
       SolrDocumentList list=q.getResults();
  
      SolrDocument sd=list.get(0);
  
      System.out.println(sd.get("uname"));

   2.    HttpSolrServer hss=new HttpSolrServer("http://localhost:8080/solr");

SolrQuery sq=new SolrQuery("*:*");

QueryResponse qr=hss.query(sq);

 SolrDocumentList list=qr.getResults();

 for(SolrDocument sd:list)
 {
 Iterator iter=sd.keySet().iterator();
 for(;iter.hasNext();)
 {
 String key=(String) iter.next();
 Object value= sd.get(key);
 
 System.out.println(key+"---->"+value);

 
 }
 System.out.println("----------------------------");
 }





本文转载自:http://blog.csdn.net/u013516966/article/details/39281583

猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
私信 提问
Solr JAVA客户端SolrJ 4.9使用示例教程

简介 SolrJ是操作Solr的JAVA客户端,它提供了增加、修改、删除、查询Solr索引的JAVA接口。SolrJ针对Solr提供了Rest 的HTTP接口进行了封装,SolrJ底层是通过使用httpClient中的方法来完成Sol...

cloud-coder
2014/08/21
3.6K
0
Apache Solr 之 使用SolrJ操作索引库

Solrj是Solr搜索服务器的一个比较基础的客户端工具,可以非常方便地与Solr搜索服务器进行交互。最基本的功能就是管理Solr索引,包括添加、更新、删除和查询等。对于一些比较基础的应用,用S...

空云万里晴
2014/12/09
6.4K
1
Solr 按日期facet 差8小时问题解决

项目中使用solrj来操作solr,日期solr会自动转换: 1.solrj在提交到solr时,时间会因为时区问题减少八小时 2.solr接收到时间后,存为底层lucene索引时时间类型为long型,是正确的时区时间,但...

zachary124
2014/06/24
726
4
Solr环境搭建及IK分词的集成及solrJ的调用(三)【完结】

前两篇的连接到这里: Solr环境搭建及IK分词的集成及solrJ的调用(一) http://my.oschina.net/zimingforever/blog/120732 Solr环境搭建及IK分词的集成及solrJ的调用(二) http://my.oschina.n...

王小明123
2013/04/10
3.4K
0
JAVAEE——宜立方商城07:Linux上搭建Solr服务、数据库导入索引库、搜索功能的实现

1. 学习计划 1、Solr服务搭建 2、Solrj使用测试 3、把数据库中的数据导入索引库 4、搜索功能的实现 2. Solr服务搭建 2.1. Solr的环境 Solr是java开发。 需要安装jdk。 安装环境Linux。 需要安...

kent鹏
2018/07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

无回路有向图的拓扑排序

因公司业务需要,在表单中每个字段都会配置自动计算,但自动计算公式中会引用到其他字段中的值。所以希望可以根据计算公式,优先计算引用的公式。所以最终使用了无回路有向图的扩扑排序来实现...

兜兜毛毛
36分钟前
3
0
如何抢占云栖大会C位?史上最强强强攻略来了

点击观看视频: APSARA云栖大会开发者情怀 原文链接 本文为云栖社区原创内容,未经允许不得转载。

阿里云官方博客
50分钟前
5
0
Kubernetes 从懵圈到熟练:集群服务的三个要点和一种实现

作者 | 声东 阿里云售后技术专家<br /> 文章来源:Docker,点击查看原文。 <br />以我的经验来讲,理解 Kubernetes 集群服务的概念,是比较不容易的一件事情。尤其是当我们基于似是而非的理解...

阿里巴巴云原生
53分钟前
7
0
PHP7.3的新特性

2018年12月6日,PHP7.3正式版发布,在PHP7.2基础上进行了大量错误修复和安全优化,性能提升10%! 从目前的更新说明来看,PHP 7.3 并不是一个主打新特性的版本,包含更多的是 bug 修复。PHP 7...

迅睿CMS-PHP开源CMS程序
58分钟前
7
0
Tomcat 应用中并行流带来的类加载问题

本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/f-X3n9cvDyU5f5NYH6mhxQ 作者:肖铭轩、王道环 随着 Java8 的不断流行,越来越多的开发人员使用并行流(parallel)...

vivo互联网技术
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部