`

使用Solr 增加索引以及检索

 
阅读更多

参考文献地址:http://www.solr.cc/blog/?p=1296

 

 

 

Solr版本:4.7.0

 

 

 

一、依赖的jar

Maven配置

 

[html] view plain copy在CODE上查看代码片派生到我的代码片
  1. <dependency>  
  2.         <groupId>org.apache.solr</groupId>  
  3.         <artifactId>solr-solrj</artifactId>  
  4.         <version>4.7.0</version>  
  5.         <scope>test</scope>  
  6. </dependency>  


二、添加索引

SolrjPopulator.java

 

[java] view plain copy在CODE上查看代码片派生到我的代码片
  1. package com.clj.test.solr.solr4;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import org.apache.solr.client.solrj.SolrServerException;  
  6. import org.apache.solr.client.solrj.impl.HttpSolrServer;  
  7. import org.apache.solr.common.SolrInputDocument;  
  8.   
  9. /** 
  10.  * solr 4.X 
  11.  * 添加索引 
  12.  *  
  13.  * @author  Administrator 
  14.  * @version  [版本号, 2014年3月9日] 
  15.  * @see  [相关类/方法] 
  16.  * @since  [产品/模块版本] 
  17.  */  
  18. public class SolrjPopulator  
  19. {  
  20.     public static void main(String[] args) throws IOException, SolrServerException {  
  21.         HttpSolrServer server = new HttpSolrServer("http://localhost:8080/solr");  
  22.         for (int i = 0; i < 1000; ++i) {  
  23.             SolrInputDocument doc = new SolrInputDocument();  
  24.             doc.addField("cat""book");  
  25.             doc.addField("id""book-" + i);  
  26.             doc.addField("name""The Legend of Po part " + i);  
  27.             server.add(doc);  
  28.             if (i % 100 == 0)  
  29.                 server.commit(); // periodically flush  
  30.         }  
  31.         server.commit();  
  32.     }  
  33. }  


三、搜索

SolrJSearcher.java

 

[java] view plain copy在CODE上查看代码片派生到我的代码片
  1. package com.clj.test.solr.solr4;  
  2.   
  3. import java.net.MalformedURLException;  
  4.   
  5. import org.apache.solr.client.solrj.SolrServerException;  
  6. import org.apache.solr.client.solrj.impl.HttpSolrServer;  
  7. import org.apache.solr.client.solrj.response.QueryResponse;  
  8. import org.apache.solr.common.SolrDocumentList;  
  9. import org.apache.solr.common.params.ModifiableSolrParams;  
  10.   
  11. /** 
  12.  * solr 4.X 
  13.  * 查询数据 
  14.  *  
  15.  * @author  Administrator 
  16.  * @version  [版本号, 2014年3月9日] 
  17.  * @see  [相关类/方法] 
  18.  * @since  [产品/模块版本] 
  19.  */  
  20. public class SolrJSearcher  
  21. {  
  22.     public static void main(String[] args) throws MalformedURLException, SolrServerException {  
  23.         HttpSolrServer solr = new HttpSolrServer("http://localhost:8080/solr");  
  24.    
  25.         ModifiableSolrParams params = new ModifiableSolrParams();  
  26.         params.set("q""cat:book");  
  27.         params.set("defType""edismax");  
  28.         params.set("start""0");  
  29.    
  30.         QueryResponse response = solr.query(params);  
  31.         SolrDocumentList results = response.getResults();  
  32.         for (int i = 0; i < results.size(); ++i) {  
  33.             System.out.println(results.get(i));  
  34.         }  
  35.     }  
  36. }  


搜索结果:

分享到:
评论

相关推荐

    solr创建索引的原理及解析

    #### 三、Solr索引创建的XML语法示例 ```xml &lt;field name="id"&gt;222 ``` 此XML片段展示了如何使用`&lt;add&gt;`标签创建一个包含单个字段的新文档。`boost`属性表示该文档的重要性权重。 #### 四、总结 通过对...

    solr创建索引并查询

    这些文档包含了各种社会热点新闻、控诉信等内容,展示了Solr强大的全文检索能力。 - **查询性能指标**: - `QueryTime`:查询时间,单位毫秒。 - `ElapsedTime`:总的处理时间,单位毫秒。 - **查询结果**: - ...

    使用MySQL作为SOLR的索引源

    本文将深入探讨如何使用MySQL作为SOLR的索引源,以提升数据检索的效率和性能。 首先,我们需要了解MySQL作为数据存储的优势,它提供了丰富的SQL查询语言,支持事务处理和ACID(原子性、一致性、隔离性和持久性)...

    Solr全文索引

    Solr全文索引是基于Apache Lucene的开源搜索服务器,它提供了一个分布式、可扩展、高性能的全文检索和分析平台。在本项目中,"Weiz.Solr"似乎是一个C#开发的Solr客户端库,用于简化与Solr服务器的交互。下面将详细...

    solr增量导入更新索引包

    Solr提供了一个名为DataImportHandler (DIH) 的组件,可以与数据库进行交互,读取这些变更并将其转化为Solr索引的更新。 - **Update Handler**:Solr提供了多种Update Handler,例如Direct Update Handler和...

    solr索引和检索性能测试报告

    solr在做检索的时候时常需要得知他的性能参数,此处使用8G内存,双核处理器测试的结果

    solr定时索引

    以上就是关于Solr定时索引的详细解释,包括增量索引和完整索引的实现方式,以及在Solr 7.3版本中配置和使用的步骤。理解并熟练掌握这些知识,将有助于你在实际项目中更好地利用Solr进行高效的数据检索。

    Solr 查询,索引

    3. **命令行工具**:如`post.jar`,用于批量导入数据到Solr索引。 4. **API支持**:Solr提供了RESTful API,支持通过HTTP协议进行操作,便于各种编程语言的集成。 四、实践应用 在实际项目中,MySearch可能是一个...

    基于solr的网站索引架构(一)

    Solr是一个开源、高性能的全文检索服务,它允许开发者为大量数据建立索引,从而实现快速的搜索功能。在"基于solr的网站索引架构(一)"中,我们将主要关注以下几个方面: 1. **Solr简介**: Solr是由Apache Lucene...

    基于Solr的分布式全文检索系统的研究与实现.pdf

    Solr能够通过其索引处理模块,在多台计算机节点上并行创建索引,显著提升了索引的构建速度,这对于分布式全文检索系统至关重要。 分布式设计是提高系统检索性能的关键所在。本文提出了使用Zookeeper来管理集群的...

    solr查询索引

    Solr查询索引是Apache Solr的核心功能之一,它是一个基于Lucene的开源搜索服务器,提供了高效的全文检索、文档分类和聚类、拼写检查、高亮显示搜索结果等多种功能。在本文中,我们将深入探讨如何使用Solr进行索引...

    基于Solr的企业级信息检索的设计与实现

    Solr用Java语言编写,能够支持分布式搜索和索引,具备高度的灵活性和可扩展性,适用于处理大量结构化和非结构化数据的检索需求。 ### 2. 企业级信息检索的需求分析 企业级信息检索系统旨在解决企业内部海量信息的...

    CDH使用Solr实现HBase二级索引.docx

    CDH 使用 Solr 实现 HBase 二级索引 在大数据处理中,HBase 是一种流行的 NoSQL 数据库,用于存储大量的数据。然而,在查询和检索数据时,HBase 的性能可能不太理想。这是因为 HBase 是基于 Key-Value 的存储方式,...

    Solr全文检索.pdf

    6. Solr 的维护方式:Solr 的维护可以通过手动添加或使用 SpringDataSolr 来操作 Solr 索引库,第一次上线的时候可以手动往 Solr 索引库导入一批数据,后期可以自动更新。 7. 全文检索的实现:全文检索是由业务来定...

    使用xml更新solr索引

    Solr索引是一个存储和检索信息的高效结构,它允许快速搜索和返回结果。XML数据的使用使得索引管理更加灵活和可控。 首先,我们来看如何使用XML来添加文档。在XML中,`&lt;add&gt;`标签用于表示一组要添加到索引的新文档。...

    跟益达学Solr5之索引文件夹下所有文件

    - 使用`&lt;dataConfig&gt;`标签定义数据导入处理器(DIH,DataImportHandler),它可以读取文件夹内容并将其导入到Solr索引中。 - 创建一个`data-config.xml`文件,在其中定义数据源和查询语句,以遍历文件夹并读取文件...

Global site tag (gtag.js) - Google Analytics