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

在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("----------------------------");

}

时间: 2024-11-23 21:26:09

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

solr 的客户端调用solrj 建索引+分页查询

一.利用SolrJ操作solr API 使用SolrJ操作Solr会比利用httpClient来操作Solr要简单.SolrJ是封装了httpClient方法,来操作solr的API的.SolrJ底层还是通过使用httpClient中的方法来完成Solr的操作. 需要的包如下: 1. apache-solr-solrj-3.5.0.jar 2. commons-httpclient-3.1.jar 3.slf4j-api-1.6.0.jar 4.commons-logging-1.1.jar 在

Lucene.net 从创建索引到搜索的代码范例

关于Lucene.Net的介绍网上已经很多了在这里就不多介绍Lucene.Net主要分为建立索引,维护索引和搜索索引Field.Store的作用是通过全文检查就能返回对应的内容,而不必再通过id去DB中加载.Field.Store.YES:存储字段值(未分词前的字段值)Field.Store.NO:不存储,存储与索引没有关系Field.Store.COMPRESS:压缩存储,用于长文本或二进制,但性能受损Field.Index.ANALYZED:分词建索引 Field.Index.ANALYZE

创建索引和搜索

package cn.dyg.luence; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexW

搜索引擎系列 ---lucene简介 创建索引和搜索初步

一.什么是Lucene? Lucene最初是由Doug Cutting开发的,2000年3月,发布第一个版本,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎 :Lucene得名于Doug妻子的中名,同时这也她外祖母的姓;目前是Apache基金会的一个顶级项目,同时也是学习搜索引擎入门必知必会. Lucene 是一个 JAVA 搜索类库,它本身并不是一个完整的解决方案,需要额外的开发工作. 优点:成熟的解决方案,有很多的成功案例.apache 顶级项目,正在持续快速的进步.庞大而活跃的开

搜索引擎系列 -lucene简介 创建索引和搜索初步步骤

一.什么是Lucene? Lucene最初是由Doug Cutting开发的,2000年3月,发布第一个版本,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎 :Lucene得名于Doug妻子的中名,同时这也她外祖母的姓;目前是Apache基金会的一个顶级项目,同时也是学习搜索引擎入门必知必会. Lucene 是一个 JAVA 搜索类库,它本身并不是一个完整的解决方案,需要额外的开发工作. 优点:成熟的解决方案,有很多的成功案例.apache 顶级项目,正在持续快速的进步.庞大而活跃的开

JAVAEE——Solr:安装及配置、后台管理索引库、 使用SolrJ管理索引库、仿京东的电商搜索案例实现

1 学习回顾 1. Lucene  是Apache开源的全文检索的工具包 创建索引 查询索引 2. 遇到问题? 文件名 及文件内容  顺序扫描法  全文检索 3. 什么是全文检索? 这种先创建索引 再对索引进行搜索的过程叫全文检索 4. 索引是什么? 非结构数据中提取一个数据.并重新组合的过程叫索引 5. Lucene实现 6. 入门程序 磁盘文件为原始文件 创建索引 第一步:获取文件 第二步:创建文档对象 第三步:创建分析器 第四步:保存索引及文档到索引库 搜索索引 第一步:用户接口(百度)

sql学习笔记(15)-----------MySQL 索引与优化总结

索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点. 考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录.如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则总共需要100s(但实际上要好很多很多).如果对之建立B-Tree索引,则只需要进行log100(10^6

mysql创建索引以及对索引的理解

创建索引是指在某个表的一列或多列上建立一个索引,以便提高对表的访问速度.创建索引有3种方式,这3种方式分别是创建表的时候创建索引.在已经存在的表上创建索引和使用ALTER TABLE语句来创建索引.本节将详细讲解这3种创建索引的方法. 7.2.1  创建表的时候创建索引(1) 创建表时可以直接创建索引,这种方式最简单.方便.其基本形式如下: CREATE TABLE  表名( 属性名 数据类型[完整性约束条件], 属性名 数据类型[完整性约束条件], ...... 属性名 数据类型  [ UNI

使用solrJ管理索引——(十四)

a)          什么是solrJ solrj是访问Solr服务的java客户端,提供索引和搜索的请求方法,SolrJ通常在嵌入在业务系统中,通过SolrJ的API接口操作Solr服务,如下图: b)          依赖的jar包 c)          添加文档 1.添加索引 //向索引库中添加索引 @Test public void addDocument() throws Exception { //和solr服务器创建连接 //参数:solr服务器的地址 SolrServer