import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.apache.commons.lang.time.DateUtils;
public class SolrUtils {
private List<Node> docs = new ArrayList<Node>();
private Number numFound = 0;
private Document doc;
public List<Node> getDocs() {
return docs;
}
public Number getNumFound() {
return numFound;
}
@SuppressWarnings("unchecked")
public SolrUtils(String urlString) {
doc = documentFromURL(urlString);
if (doc != null ) {
docs = (List<Node>)doc.selectNodes("/response/result/doc");
numFound = doc.numberValueOf("/response/result/@numFound");
}
}
public Document documentFromURL(String urlString){
try {
SAXReader reader = new SAXReader();
URL url = new URL(urlString);
doc = reader.read(url);
return doc;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static String valueOf(Object obj, String name){
return valueOf(obj, "str", name);
}
public static Date dateValueOf(Object obj, String name){
String[] parsePatterns = new String[]{
"yyyy-MM-dd'T'HH:mm:ss'Z'",
"yyyy-MM-dd'T'HH:mm:ss.S'Z'",
"yyyy-MM-dd'T'HH:mm:ss.SS'Z'",
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
};
try {
return DateUtils.parseDate(valueOf(obj, "date", name), parsePatterns);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static String valueOf(Object obj, String type, String name){
String path = "./" + type + "[@name='" + name + "']";
if (obj instanceof Node) {
Node n = (Node)obj;
return n.valueOf(path);
}
return "";
}
public static Number numberValueOf(Object obj, String type, String name){
String path = "./" + type + "[@name='" + name + "']";
if (obj instanceof Node) {
Node n = (Node)obj;
return n.numberValueOf(path);
}
return null;
}
public static void main(String[] args) throws Exception {
String url = "http://localhost:8983/solr/db/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on";
SolrUtils su = new SolrUtils(url);
System.out.println(su.getNumFound());
System.out.println(su.getDocs().size());
for (Node doc : su.getDocs()) {
System.out.println(valueOf(doc, "id"));
System.out.println(valueOf(doc, "title"));
System.out.println(dateValueOf(doc, "pubtime"));
}
}
}
|
相关推荐
### Solr 3.5与Tomcat的部署配置及与Java项目的集成 #### 一、Solr 3.5与Tomcat的部署配置 **1. 下载与安装Solr** 首先,需要从官方或其他可信任来源下载Apache Solr 3.5.0。根据描述中的链接(虽然不可用),...
在企业级应用中,Solr 往往需要与 Web 服务器集成,以实现更高效的服务。在这个场景下,Tomcat 作为一个流行的 Java 应用服务器,常常被用来部署 Solr。下面我们将详细讨论如何将 Solr 3.5 版本整合到 Tomcat 中。 ...
将Solr与Tomcat集成,可以利用Tomcat的管理和部署能力,为Solr提供一个稳定的运行环境。 集成Solr4.7.2和Tomcat7的步骤主要包括以下几个关键点: 1. **下载与解压**:首先,你需要下载Apache Solr 4.7.2和Tomcat7...
通过以上步骤,你已经成功将Solr集成到Tomcat,并且为Solr添加了中文分词支持,使其能更好地处理中文搜索需求。这使得开发者能够在Web应用程序中利用Solr的强大搜索功能,同时支持中文查询,提高了用户体验。
在部署和使用Solr时,了解Solr的生命周期管理、集群配置、备份与恢复策略,以及如何监控和调整性能都是至关重要的。熟悉这些知识点,可以帮助你更好地利用Apache Solr构建高性能的企业级搜索解决方案。
在Solr 4.9版本中,可以与Jetty或Tomcat这样的Servlet容器进行集成,以实现更灵活的部署。 1. **Solr 4.9与Jetty的直接运行** - 首先,你需要从Apache官网下载Solr 4.9的zip包,并解压。 - 使用CMD命令行,进入...
在本场景中,我们关注的是将 Solr 集成到 Tomcat 服务器上,以便利用其强大的搜索能力。Tomcat 是一个流行的开源 Java 应用服务器,常用于部署 Web 应用程序。下面我们将详细介绍如何配置已集成 Solr 的 Tomcat ...
**Tomcat6与Solr的集成** 1. **部署**: 将Solr的war文件(通常名为`solr.war`)部署到Tomcat6的应用目录下,Tomcat会自动解压并创建一个Solr Web应用程序。每个Solr实例都对应一个特定的目录,包含配置文件和索引。...
### Apache Solr Search:一种强大的开源企业搜索解决方案 #### Apache Solr简介 Apache Solr是一款基于Lucene Java搜索引擎库的企业级搜索服务器。它不仅继承了Lucene的强大功能,还在此基础上进行了扩展,提供了...
在IT领域,尤其是在Java Web开发中,Tomcat和Solr是两个非常重要的工具。Tomcat作为一款开源的Servlet容器,广泛用于部署Java应用,而Solr则是一个强大的全文搜索引擎,适用于构建高效的搜索功能。本教程将详细介绍...
Solr+Tomcat项目整合是将Apache Solr搜索引擎与Apache Tomcat应用服务器结合使用的过程,以便在Web环境中部署和运行Solr服务。Solr是一个基于Lucene的全文搜索服务器,而Tomcat则是一个轻量级Java应用服务器,常用于...
本配置成功案例主要涉及了几个关键点:Solr8的安装与配置、Tomcat9的部署、实时数据库批量更新以及IK中文分词器的集成。 1. **Solr8的安装与配置**: Solr8的安装通常包括下载最新版本的Solr,解压并配置环境变量...
Solr是Apache Lucene项目的一个子项目,是一个高性能、全文本搜索服务器,广泛应用于各种大数据检索场景。在4.9版本中,Solr引入了集群功能,以支持高可用性和可扩展性。在这个集群环境中,Tomcat作为Servlet容器...
2. **安装中间件**:Solr可以在任何Java中间件上运行,如Apache Tomcat。这里以Tomcat为例,下载并解压Tomcat到指定目录。 3. **下载Solr**:访问Solr官网获取最新版本的Solr包,根据教程中的示例,下载的是Solr 1.4...
Solr-Tomcat7 整合详解 在Java Web开发中,Apache Solr是一个非常流行的全文搜索引擎,它提供了高效、可扩展的搜索和分析功能。而Tomcat则是一款轻量级的应用服务器,常用于部署Java Servlet和JavaServer Pages...
标题中的“window下tomcat+solr整合”指的是在Windows操作系统环境下,将Apache Tomcat(一个流行的Java Servlet容器)与Apache Solr(一个基于Lucene的全文搜索服务器)进行集成,以便实现高效的全文检索功能。...
Solr+IK分词集成Tomcat实现全文检索是构建高效搜索引擎的关键步骤,尤其在电子商务等大量数据检索场景中,这一技术的应用尤为重要。本教程将详细阐述如何通过Solr结合IK分词器,在Tomcat服务器上搭建一个功能完备的...
在本场景中,我们讨论的是如何将Apache Solr 7.7.3集成到Apache Tomcat 9.0.35中,并配置安全权限,实现BASIC认证。 Apache Solr是一个强大的、开源的企业级搜索平台,它基于Lucene库,提供全文搜索、命中高亮、...
**Tomcat集成Solr的步骤** 1. **下载和解压**: 首先,你需要从Apache Solr官方网站获取Solr 3.5的发行包,并将其解压到一个适当的目录。 2. **配置Tomcat**: 确保你的Tomcat服务器已经安装并运行。如果还没有,可以...