`
zkl_1987
  • 浏览: 244739 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

用Solr服务器建索引

阅读更多
Solr 最初由 CNET Networks 开发,2006 年初,Apache Software Foundation 在 Lucene 顶级项目的支持下得到了 Solr。Solr 于 2007 年 1 月酝酿成熟,在整个项目孵化期间,Solr 稳步地积累各种特性并吸引了一个稳定的用户群体、贡献者和提交人。Solr 现在是 Lucene(Apache 的基于 Java 的全文本搜索引擎库)的一个子项目。

用Solr服务器建索引的前提是你已经把Solr服务器给搭建起来了

public class CreateIndex {
public static final String LINE_SEP = System.getProperty("line.separator");

public static final String localhost = "http://10.0.0.201:8080/solr/update";

String command = "<add>" + LINE_SEP + "<doc>" + LINE_SEP
+ "<field name=\"url\">" + "http://www.caihongtang.com/" + "</field>"
+ LINE_SEP
+ "<field name=\"title\">" + "倍感亲切" + "</field>"
+ LINE_SEP
+ "<field name=\"keywords\">" + "倍感的亲切" + "</field>"
+ LINE_SEP
+ "<field name=\"description\">" + "倍感" + "</field>"
+ LINE_SEP
+ "<field name=\"content\">" + "倍感亲切" + "</field>"
+ LINE_SEP
+ "<field name=\"pagerank\">" + 0 + "</field>"
+ LINE_SEP
+ "</doc>" + LINE_SEP + "</add>";

void doIndex() {
try {
System.out.println(command);
doPost(command);
doPost("<commit/>");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

String doPost(String command) throws Exception {
String results = null;
HttpClient client = new HttpClient();
PostMethod post = new PostMethod(localhost);

RequestEntity re = new StringRequestEntity(command, "text/xml", "UTF-8");
post.setRequestEntity(re);
try {
int statusCode = client.executeMethod(post);

if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + post.getStatusLine());
}

byte[] responseBody = post.getResponseBody();

results = new String(responseBody);
} catch (Exception e) {

System.err.println("Fatal protocol violation: " + e.getMessage());
e.printStackTrace();

} finally {
post.releaseConnection();
}
return results;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CreateIndex cr = new CreateIndex();
cr.doIndex();
}

}

以上代码是用HttpClient来解决HTTP客户端与服务器进行通讯编程问题的,就是把你想要建的索引转变成XML文件,把这个XML文件传到http://10.0.0.201:8080/solr/update这个地址,这个URL地址就是solr服务器的所在地址,然后把建索引的事就全交给Solr来处理就行了,Solr已经把Lucene又封装了一编,所以Solr会自己调用Lucene来把传入的数据建索引。
至于输出索引的路径,那就得看Solr的配置了。
分享到:
评论

相关推荐

    Solr服务器

    Solr服务器是一个强大的全文搜索引擎,它是Apache Lucene项目的一个子项目。Solr提供了一个高效、可扩展的平台,用于处理和检索大量数据。基于Solr搭建的服务器旨在为各种应用程序提供快速、高效的搜索功能,使其...

    Solr 查询,索引

    2. **SolrJ**:Java客户端库,允许开发者通过代码与Solr服务器交互,执行索引操作和查询请求。 3. **命令行工具**:如`post.jar`,用于批量导入数据到Solr索引。 4. **API支持**:Solr提供了RESTful API,支持通过...

    solr创建索引并查询

    - 使用`CommonsHttpSolrServer`类创建Solr服务器连接。 - 设置必要的参数,如URL、超时时间、最大连接数等。 2. **添加文档** - 创建一个SolrInputDocument对象,并设置相应的字段值。 - 调用`add`方法将文档...

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

    安装Solr通常涉及下载最新版本的Solr压缩包,解压后配置服务器环境,启动Solr服务器。在“lib”目录下,可能包含了Solr运行所需的依赖库,这些库文件对于Solr的正常工作至关重要。 4. **创建索引**: 要对网站...

    solr创建索引的原理及解析

    对于XML格式的索引创建请求,Solr使用`XmlUpdateRequestHandler`来处理。该类继承自`ContentStreamHandlerBase`,并在其中定义了一个`handleRequestBody`方法来处理具体的请求体数据。 在处理索引创建命令时,关键...

    solr服务器的搭建

    Solr服务器搭建是一个重要的步骤,它是Apache Lucene项目的一个企业级搜索平台,广泛应用于全文检索、数据索引和搜索解决方案。下面将详细讲解如何在Java 1.7和Tomcat 1.7环境下搭建Solr 4.10.3单机版。 一、Java...

    solr增量导入更新索引包

    - 然后,DIH将变更转化为Solr兼容的格式,并发送到Solr服务器进行更新。 - 最后,Solr执行更新操作,可以是单个文档或批量文档的更新。 6. **增量包的使用** 在你的描述中提到了"solr增量添加更新索引包",这...

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

    - 启动Solr服务器,通过命令行执行`bin/solr start`。 2. **创建核心(Core)**: - 在`solr_home`下创建一个新的目录,如`my_core`,代表一个新的Solr核心。 - 在`my_core`中创建`conf`目录,拷贝`solr/example...

    Solr高级搜索+tomcat整合服务器

    索引:客户端(可以是浏览器可以是java程序)发送post请求到solr服务器,发给solr服务器一个文档(xml、json),就可以进行一个添加索引删除索引、修改索引的操作。 搜索:客户端(可以是浏览器可以是java程序)发送...

    solr服务器_solr_

    Solr服务器是Apache Lucene项目的一个子项目,是一款开源的企业级搜索平台,专门用于处理大量文本数据的全文检索、搜索和分析。它基于Java开发,能够处理多种数据源,包括XML、JSON、CSV等,提供了高效、可扩展的...

    solr服务器的搭建与配置实例

    ### Solr服务器的搭建与配置实例 #### 一、Solr简介 Solr是一个高性能、可伸缩的企业级搜索引擎平台,它可以作为一个独立的服务运行,并且提供了丰富的API接口,支持多种编程语言,使得开发者能够轻松地集成搜索...

    solr搜索服务器安装配置

    ### Solr搜索服务器安装配置详解 #### 一、Solr简介 Apache Solr是一款开源的高性能全文搜索引擎,基于Lucene库构建。它采用Java开发,提供了丰富的API接口,支持多种编程语言,使得开发者能够轻松地集成搜索功能到...

    solr服务器部署在linux windows环境下

    Solr服务器是一款强大的开源搜索引擎,由Apache软件基金会开发,它基于Java并支持分布式搜索和处理大量数据。在Linux和Windows环境下部署Solr服务器是常见的需求,这两种操作系统各有其特点和优势。 **Linux环境下...

    java solr solrj 带账号密码增量查询添加索引

    主要讲解了 solr客户端如何调用带账号密码的solr服务器调用,实现添加索引和查询索引,以及分组查询

    跟益达学Solr5之索引网络上远程文件

    3. **处理权限和认证**:当索引的远程文件位于受保护的服务器时,需要在Solr配置中添加必要的认证信息。这可能涉及到基本认证、OAuth或其他定制的身份验证机制,具体取决于远程服务器的设置。 4. **增量索引与更新*...

    solr定时索引

    3. **创建定时任务**:在Solr服务器的外部,如Linux服务器,你可以使用cron job或Windows的任务计划程序来定期执行更新索引的命令。命令通常是发送一个HTTP请求到Solr的Update Handler来触发数据导入。 4. **增量...

    solr查询索引

    2. **发送请求**:使用SolrJ库(`apache-solr-solrj-3.6.2.jar`)可以与Solr服务器进行交互。SolrJ是一个Java客户端API,允许开发者执行HTTP请求,发送查询并接收响应。`commons-httpclient-3.1.jar`和`commons-...

    Solr全文索引

    在本项目中,"Weiz.Solr"似乎是一个C#开发的Solr客户端库,用于简化与Solr服务器的交互。下面将详细介绍Solr的核心概念以及如何在C#环境中进行开发和查询。 1. **Solr概述** - **全文检索**:Solr能够对文本进行...

Global site tag (gtag.js) - Google Analytics