文档章节

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

猪刚烈
 猪刚烈
发布于 2014/09/24 13:57
字数 295
阅读 30
收藏 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/weitao1234/article/details/39409021

猪刚烈
粉丝 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.5K
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

没有更多内容

加载失败,请刷新页面

加载更多

同名依赖,多次引入导致的程序错误

表现: 本地测试正常,打包上线后报错找不到某个方法(缺少依赖),检测依赖发现,同名依赖有两个版本。 解决:删除一个,程序正常

避难所
25分钟前
3
0
在HTML中的下拉框中实现超连接

<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <link rel="canonical" href="https://blog.csdn.net/weixin_34228617/article/details/86130280"/> ......

mickelfeng
31分钟前
3
0
Content7关闭防火墙命令

在外部访问CentOS中部署应用时,需要关闭防火墙。 关闭防火墙命令:systemctl stop firewalld.service 开启防火墙:systemctl start firewalld.service 关闭开机自启动:systemctl disable f...

无名氏的程序员
32分钟前
3
0
分布式存储原理:TiDB

浮躁的码农
44分钟前
6
0
CSS实现圆角边框的完美解决方案

css实现图片圆角,兼容所有浏览器: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <style type= "text/css" > /*通用样式--容器宽度值*/ .s......

前端老手
59分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部