package data;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
public class Test {
private final static String URL = "http://localhost:1234/solr";
private static SolrServer server;
/**
* @param args
*/
public static void main(String[] args) {
server = new HttpSolrServer(URL);
test06();
}
public static void test06() {
try {
SolrQuery query = new SolrQuery("msg_title:solr");
query.setHighlight(true).setHighlightSimplePre("<span class='highligter'>")
.setHighlightSimplePost("</span>").setStart(0).setRows(5);
//设置哪些字段高亮 hl.fl= highlight的缩写 固定的
query.setParam("hl.fl", "msg_title,msg_content");
QueryResponse resp = server.query(query);
//查询出来的结果都保存在SolrDocumentList中
SolrDocumentList sdl = resp.getResults();
System.out.println(sdl.getNumFound());
for (SolrDocument sd : sdl) {
String id = (String) sd.getFieldValue("id");
//取出高亮字段
System.out.println(resp.getHighlighting().get(id).get("msg_title"));
}
} catch (SolrServerException e) {
e.printStackTrace();
}
}
public static void test04() {
try {
//定义查询字符串
SolrQuery query = new SolrQuery("*");
//分页
query.setStart(0);
query.setRows(100);
//添加搜索条件
query.addFilterQuery("msg_title:工作");
QueryResponse resp = server.query(query);
//查询出来的结果都保存在SolrDocumentList中
SolrDocumentList sdl = resp.getResults();
System.out.println(sdl.getNumFound());
for (SolrDocument sd : sdl) {
// System.out.println(sd);
System.out.println("***************");
System.out.println("msg_title:"+sd.getFieldValue("msg_title"));
System.out.println("msg_content:"+sd.getFieldValue("msg_content"));
}
} catch (SolrServerException e) {
e.printStackTrace();
}
}
public static void test02() {
try {
List<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", "7");
doc.addField("msg_title", "好好看看001");
doc.addField("msg_content", "slor总算可以正式工作了");
docs.add(doc);
doc = new SolrInputDocument();
doc.addField("id", "8");
doc.addField("msg_title", "<p>测试一下solr的添加</p>");
doc.addField("msg_content", "看看能不能添加一个列表信息");
docs.add(doc);
server.add(docs);
server.optimize();
server.commit();
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
参考文章:
http://www.myexception.cn/program/1131616.html
分享到:
相关推荐
在维护 Solr 时,可能需要进行一些性能优化。对于 Tomcat,可以通过调整 JVM 内存大小来提高性能。在 `catalina.sh` 文件中设置 `JAVA_OPTS`,例如 `-Xms1536m -Xmx1536m`,以设定初始和最大堆内存。此外,还可以...
在Windows 7操作系统中安装Apache Solr 4.4并将其部署到Tomcat 8是一项重要的配置工作,这对于搭建基于Solr的全文检索系统至关重要。下面将详细解释这个过程涉及的关键知识点。 首先,我们需要安装Java Development...
在Windows操作系统上部署Solr4.4,可以为用户提供高效的全文检索和索引服务。以下是详细的部署步骤: 1. **下载与准备**: - 首先,从官方镜像站点下载Solr4.4.0的zip包,地址为:...
solr4.4版本,解压后可以放于tomcat下运行,可以配置数据库连接及SQL语句,将查询结果放在solr中缓存,项目直接操作solr,可以配置定时任务(PS:定时任务只支持到4.4版本,以后版本目前没有)solr作为数据库和项目...
Solr4.4.0是Solr的一个版本号,本篇文章将介绍如何安装和配置Solr4.4.0来搭建一个基本的搜索服务。 安装和配置Solr4.4.0通常包括以下步骤: 第一步,下载Solr4.4.0安装包。可以通过访问Solr的官方网站下载相应的...
手册的最后一部分往往还包含了一些高级主题,例如与Hadoop集成、地理空间搜索、以及与NoSQL数据库的集成等,这些主题可以吸引已经熟悉Solr基本操作的用户进一步深入探索。 值得注意的是,本手册是基于Apache软件...
支持最新lucene solr 4.4 中文分词器
然后可以通过POST请求将数据导入Solr,Solr会自动进行分词、建立倒排索引等操作,从而实现快速的全文检索。 Lucene是Solr的核心搜索引擎库,它提供了基本的搜索功能,如倒排索引、TF-IDF评分等。而Solr则在其基础上...
"Solr 操作说明文档" Solr 是一个基于 Lucene 的企业搜索平台,它提供了强大的搜索功能和高效的索引处理能力。SolrCloud 是 Solr 的分布式搜索解决方案,能够提供高可用性和可扩展性的搜索服务。下面是 Solr 操作...
- **性能优化**:Solr团队不断努力提升查询速度和索引效率,8.11.1版本可能包含了一些新的性能优化。 - **新功能**:可能引入了新的搜索特性,比如新的查询语法、更强大的分析器或者对最新技术标准的支持。 - **稳定...
Apache Solr是一款开源的企业级搜索平台,由Apache软件基金会维护。它是基于Java的,提供了高效、可扩展的全文检索、数据分析和分布式搜索功能。Solr-8.11.1是该软件的一个特定版本,包含了从早期版本到8.11.1的所有...
### Solr 4.7 服务搭建详细指南 #### 一、环境准备 为了搭建 Solr 4.7 服务,我们需要确保以下环境已经准备好: 1. **Java Development Kit (JDK) 1.7**:Solr 需要 Java 运行环境支持,这里我们选择 JDK 1.7 ...
- 使用 Solr 的 API 进行数据导入、查询和其他操作,可以使用 POST 请求发送 JSON 或 XML 数据。 6. **监控和优化**: - 使用 Solr 提供的监控工具来检查系统状态,如查询响应时间、内存使用情况等。 - 根据系统...
使用SolrJ操作集群与操作单机版类似,但要注意在集群环境下,多个Solr节点之间的数据同步和负载均衡。 #### 5.1 SolrJ使用前配置 配置同单机版一样,在Maven项目中添加SolrJ依赖。 #### 5.2 添加文档 操作方法同...
8. **验证安装**:安装完成后,可以通过Ambari的监控功能检查Solr服务是否正常运行,以及执行一些基本的搜索操作来验证功能。 9. **维护与更新**:如果需要升级或调整Solr,可以按照类似的过程离线升级服务,同时...
服务器端则负责解析请求,对索引进行操作,并返回结果。Solr支持多种数据存储方式,如内存存储和硬盘存储,以及分布式索引和查询处理,使得它可以轻松应对大数据量的场景。 二、Solr的特性 1. 分布式搜索:Solr ...
Solr是Apache Lucene项目的一个子项目,是一个高性能、基于Java的企业级全文搜索引擎服务器。当你在尝试启动Solr时遇到404错误,这通常意味着Solr服务没有正确地启动或者配置文件设置不正确。404错误表示“未找到”...
Solr是Apache软件基金会的一个开源项目,它是基于Java的全文搜索服务器,被广泛应用于企业级搜索引擎的构建。源码分析是深入理解一个软件系统工作原理的重要途径,对于Solr这样的复杂系统尤其如此。这里我们将围绕...